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描述了一个区间,下界包含,上限不包含。