openpyxl - 使用列表

时间:2015-12-07 08:10:37

标签: python excel python-2.7 python-3.x openpyxl

所以我一直试图在我的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的新手,非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:3)

问题出在for col in range(1, 2):。你的范围只有一个元素:

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

因此,您只循环一个元素。您可能希望range(1, 3)获得两列。

在Python range中描述了下限是包含的上限,上限是独占的。