如何使用 openpyxl 将数组写入 XLSX sheet

how to write an array into an XLSX sheet using openpyxl

def save_data():
    wb = openpyxl.Workbook()
    print(entryArray)
    for b in range(len(entryArray)):
        temp = entryArray[b]
        wb.cell(row=b+1, column=1).value = temp
    wb.save('/home/'+getpass.getuser()+'/Desktop/FileName.xlsx')

我收到错误消息

  File "C:/Users/thoma/ownCloud/Computer Science/Project/Psudo code/1.2/Project 404.py", line 292, in <module>
    save_data()
  File "C:/Users/thoma/ownCloud/Computer Science/Project/Psudo code/1.2/Project 404.py", line 258, in save_data
    wb.cell(row=b+1, column=1).value = temp
AttributeError: 'Workbook' object has no attribute 'cell'

这是 entryArray 的值: ['58578', '876', '66', '98', '807', '78907', '90', '078907', '8967', '760', '658', '467', ' 58346', '54', '65', '785', '896', '9-08', '-980', '456', '456', '09', '87', '89', '765', '765', '765', '765']

如何创建 XLSX sheet 然后使用 openpyxl 将这些值写入其中。 XLSX sheet 不存在我需要在函数 运行.

期间创建它

提前致谢

问题是您从 workbook 访问没有 cell 属性的单元格。在此之前您应该访问的是 worksheet 对象。您可以通过以下方式做到这一点:

ws = wb.active

所以一个简单的解决方法是在 wb = ... 之后添加上面的代码;并在循环中将 wb 更改为 ws 。这将为您提供一个本地 excel 文件,其中第一列包含您的数据:

证明:

r=entryArray.shape

for i in range(r[0]):

    for j in range(r[1]):

        ws.cell(row=i+2, column=j+1).value = entryArray[i][j]