Openpyxl:无法将部分字符串写入Excel(ValueError)

问题描述 投票:0回答:1

所以我创建了一个列表

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")
python excel openpyxl valueerror
1个回答
0
投票

我不确定问题到底是什么,但您正在尝试以一种相当不寻常的方式填充这些单元格。尝试一下:

# 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
© www.soinside.com 2019 - 2024. All rights reserved.