所以我创建了一个列表
signal
,其中包含我想写入Excel表格的数字和字符串。因此我使用以下 for 循环:
columns = list(string.ascii_uppercase)[:26]
row = 3
for j in range(len(columns)):
ws[columns[j] + str(row)] = a[j]
row += 1
我创建列表
a
并将每个数据写入 row
的自己的列中。然后我更新下一个列表的row
。
我现在的问题是,当我创建代码时一切正常,但现在我总是在某些文件中遇到相同的错误:ValueError: Cannot convert 'THE-DATA' to Excel
。该字符串只是整个字符串的一部分,即使我将 -
更改为 _
我也会收到错误。但如果我创建一个测试代码,我将所有内容写入 Excel 工作表也没有问题。有谁知道为什么我在代码中没有更改任何内容后会收到此错误消息?
测试代码(只将一个列表写入excel表):
columns = list(string.ascii_uppercase)[:6]
a_test = [1, 3, "sa", "ABC DEF THE-DATA",7,3]
row = 3 # starting row of the Excel sheet
for j in range(len(columns)):
ws[columns[j] + str(row)] = a_test[j]
wb.save(fr"Test121314.xlsx")
我不确定问题到底是什么,但您正在尝试以一种相当不寻常的方式填充这些单元格。尝试一下:
# adjust max_row to your liking
# note that row and column indices in openpyxl are 1-based
for row in ws.iter_rows(min_row=3, min_col=1, max_row=3, max_col=26):
j = 0
for cell in row:
cell.value = a[j]
j += 1