当我想阅读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'
答案 0 :(得分:0)
一种但很少见的可能性是,“ Libro1.xlsx”中的单元格被标记为文本格式,从而阻止了其重新计算。
打开Excel文件时,您看到=A1+1
的值是重新计算的还是文本形式?
无论如何,将最简单的数字格式应用于Excel文件中的所有单元格(选择单元格并选择格式),并消除任何条件格式。
此处描述了类似的问题:https://bitbucket.org/openpyxl/openpyxl/issues/699/valueerror-could-not-convert-string-to。确保您的openpyxl
版本是最新的。
答案 1 :(得分:0)
x and y are object. Convert that into list before assigning values.
Try this:
x = list(np.zeros(hoja_1.max_row)) y = list(np.zeros(hoja_1.max_row))