繁体   English   中英

openpyxl 如何在工作表中写入列表数据?

[英]How can openpyxl write list data in sheet?

我正在使用openpyxl处理一些科学数据,当我将列表数据写入excel文件时,我遇到了问题。

wb = openpyxl.Workbook(optimized_write=Ture)
ws_write = wb.create_sheet(0)

for i in range(row):
   ws_write.append([datalist[i][0]])

wb.save(filename='data.xlsx')

完成后,似乎只能将列表写入 xlsx 文件的第一列。 如何将数据列表的相同列分配给同一张表中 xlsx 文件的相同列? 有没有控制输出的参考?

使用ws.append(row)您必须将整个传递作为序列或作为生成器插入。 我不明白你的数据结构,但像下面这样的东西应该可以工作。

for row in datalist:
    ws.append(row)

如果这还不够,请提供有关数据结构的更多信息。

您只写入数据的第一列(col=0)。 为了包含所有数据,添加一个内部循环:

for i in range(row):
    for j in range(col):
       ws_write.append([datalist[i][j]])
wb.save(filename='data.xlsx')

或者,一次写入整行:

for i in range(row):
   ws_write.append([datalist[i]])
wb.save(filename='data.xlsx')

我不知道那个包来确保输出语法是正确的。

编辑:查看此内容后: 在 Python 中使用 openpyxl 将行插入 Excel 电子表格中,您似乎需要执行以下操作:

for i in range(row):
    for j in range(col):
       ws_cell(row=i,col=j).value = datalist[i][j]
wb.save(filename='data.xlsx')

如果我正确理解你的问题,你需要这样的东西:

myList = ['First','Second','Third','Fourth','Fifth']
wb = xl.load_workbook('test.xlsx')
ws= wb.active
ws.append(myList)

这会将列表中的每个项目附加到同一行的每一列上。

希望有帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM