所以我一直试图在我的Python 3.5项目中使用openpyxl来生成一个excel文件,其顶行(B1到M1)是Months,列(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
然而,这并没有从我的列表中提取所有项目,而只是一遍又一遍地拉出第一个项目。由于某种原因,称为测试的计数器没有增加。我也尝试过使用ws1.iter_rows(' A2:A15')但这也只是从我的列表中拉出第一个项目(firstNameList)。我是使用openpyxl的新手,非常感谢任何帮助。
谢谢!
答案 0 :(得分:3)
问题出在for col in range(1, 2):
。你的范围只有一个元素:
>>> list(range(1, 2))
[1]
因此,您只循环一个元素。您可能希望range(1, 3)
获得两列。
在Python range
中描述了下限是包含的上限,上限是独占的。