将值读取为公式而不是数据的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将值读取为公式而不是数据的问题相关的知识,希望对你有一定的参考价值。
当我想阅读我的Excel时:
from openpyxl import load_workbook
import numpy as np
"read Excel"
wb = load_workbook('Libro1.xlsx')
hoja_1 = wb.get_sheet_by_name('1')
x = np.zeros(hoja_1.max_row)
y = np.zeros(hoja_1.max_row)
for i in range(0, hoja_1.max_row):
x[i] = hoja_1.cell(row = i + 1, column = 1).value
y[i] = hoja_1.cell(row = i + 1, column = 2).value
print(x)
print(y)
我收到错误:
x[i] = hoja_1.cell(row = i + 1, column = 1).value
ValueError:无法将字符串转换为float:'= A1 + 1'
答案
x和y是对象。在分配值之前将其转换为列表。
试试这个:
x = list(np.zeros(hoja_1.max_row))y = list(np.zeros(hoja_1.max_row))
另一答案
一种但很少见的可能性是'Libro1.xlsx'中的单元格被标记为文本格式,这会阻止它重新计算。
当您打开Excel文件时,您是否看到=A1+1
重新计算的值或文本?在任何情况下,将最简单的数字格式应用于Excel文件中的所有单元格(选择单元格并选择格式),也消除任何条件格式。
这里描述的类似问题:https://bitbucket.org/openpyxl/openpyxl/issues/699/valueerror-could-not-convert-string-to。确保您的openpyxl
版本是最新的。
以上是关于将值读取为公式而不是数据的问题的主要内容,如果未能解决你的问题,请参考以下文章