openpyxl - 使用列表填充列
openpyxl - populating a column using a list
所以我一直在尝试将 openpyxl 与我的 Python 3.5 项目一起使用来生成一个 excel 文件,该文件的顶行(B1 到 M1)是月份,列(A2 到长度列表)是我拥有的列表中的项目。现在我可以使用这个让顶行正常工作:
for row in ws1.iter_rows('B1:M1'):
counter=0
for cell in row:
cell.value = months[counter]
counter=counter+1
但是我不能使用相同的方法来填充该列。我试过:
for row in range(2, 1 + len(firstNameList)):
test=0
for col in range(1, 2):
test2 = firstNameList[test]
ws1.cell(column=col, row=row, value=test2)
test = test + 1
然而,这并没有从我的列表中拉出所有项目,而是一遍又一遍地拉出第一个项目。由于某种原因,名为 test 的计数器没有增加。我也尝试使用 ws1.iter_rows('A2:A15') 但这也只会从我的列表 (firstNameList) 中提取第一项。我对使用 openpyxl 很陌生,希望得到任何帮助。
谢谢!
问题就在这里for col in range(1, 2):
。您的范围只有一个元素:
>>> list(range(1, 2))
[1]
因此,您只遍历了一个元素。您可能希望 range(1, 3)
获得两列。
在Python中range
描述了一个区间,下界包含,上限不包含。
所以我一直在尝试将 openpyxl 与我的 Python 3.5 项目一起使用来生成一个 excel 文件,该文件的顶行(B1 到 M1)是月份,列(A2 到长度列表)是我拥有的列表中的项目。现在我可以使用这个让顶行正常工作:
for row in ws1.iter_rows('B1:M1'):
counter=0
for cell in row:
cell.value = months[counter]
counter=counter+1
但是我不能使用相同的方法来填充该列。我试过:
for row in range(2, 1 + len(firstNameList)):
test=0
for col in range(1, 2):
test2 = firstNameList[test]
ws1.cell(column=col, row=row, value=test2)
test = test + 1
然而,这并没有从我的列表中拉出所有项目,而是一遍又一遍地拉出第一个项目。由于某种原因,名为 test 的计数器没有增加。我也尝试使用 ws1.iter_rows('A2:A15') 但这也只会从我的列表 (firstNameList) 中提取第一项。我对使用 openpyxl 很陌生,希望得到任何帮助。
谢谢!
问题就在这里for col in range(1, 2):
。您的范围只有一个元素:
>>> list(range(1, 2))
[1]
因此,您只遍历了一个元素。您可能希望 range(1, 3)
获得两列。
在Python中range
描述了一个区间,下界包含,上限不包含。