首页 > 解决方案 > 使用openpyxl将二维列表的元素插入到excel中

问题描述

我有一个这样的清单::

My_list = [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10], [4, 8, 12, 16, 20], [5, 10, 15, 20, 25], [3, 6, 9, 12, 15] ]

我想在 Python 中使用 Openpyxl 将 My_list 中的每个列表元素列表插入 Excel 电子表格的一列 ::

我的代码是这样的::

for i in range(len(My_list)):
    for j in range(0, 5):
      text = sheet.cell(row= j, column= i)
      text.value = My_list[i]

但这不起作用。任何人都可以帮助我???

标签: python

解决方案


它不起作用,因为您正在使用 2D 列表...

当您引用列表时:

print(My_list[0])

会返回:

[1, 3, 5, 7, 9]

但是您希望对text.value属性的分配是:

text.value = My_list[i][j]

这会将第 i 个列表的第 j 个元素分配My_listtext.value

我不确定您的整体问题(因为您没有提供上下文)。但是,在我看来,有更好的方法来存储和写入此类数据。例如,您可以使用 pandas DataFrame 并使用它的.to_csv方法。

您还可以考虑利用该np.savetxt功能。但是,据我所知,您使用 openpyxl 可能是有正当理由的!


推荐阅读