如何将列表写入Excel列?
问题描述
我有一个Python中的一些值的列表,并希望使用Openpyxl将它们写入到Excel电子表格列中。
到目前为止我试过了,其中lstStat
是需要写入Excel列的整数列表:
for statN in lstStat:
for line in ws.range('A3:A14'):
for cell in line:
cell.value(statN)
我得到代码段中最后一行的TypeError: 'NoneType' object is not callable
。
您能帮我解决如何将数据写入Excel列的问题吗?
解决方案
若要为单元格赋值,请使用=
:
cell.value = statN
您还需要修复您的循环。请注意,现在,对于lstStat
中的每个元素,您正在编写整个范围。除了不是您想要的,它也不太灵活:如果lstStat
有更多或更少的元素会发生什么?
lstStat
,并在执行过程中递增行号。类似于
r = 3
for statN in lstStat:
ws.cell(row=r, column=1).value = statN
r += 1
您还可以使用Python的enumerate
函数:
for i, statN in enumerate(lstStat):
ws.cell(row=i+3, column=1).value = statN
(请注意,从OpenPyXL version 2.0.0开始,A1引用为cell(row=1, column=1)
;在早期版本中,A1引用为cell(row=0, column=0)
。)
相关文章