openpyxl – 使用列表填充列

所以我一直试图使用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 

但是,这并不是从我的列表中拉出所有项目,而是只是一次又一次地拉第一个项目。 称为testing的计数器由于某种原因未被增加。 我也尝试使用ws1.iter_rows('A2:A15'),但这也只是从我的列表(firstNameList)拉第一个项目。 我很新,使用openpyxl,并会感谢任何帮助。

谢谢!

这里的问题是for col in range(1, 2): 你的范围只有一个元素:

 >>> list(range(1, 2)) [1] 

因此,您只循环一个元素。 你可能想要range(1, 3)得到两列。

在Python range描述了一个区间,其中下限是包含的,上限是独占的。