for i in range (len(outputList)):
worksheet.write(i+1, 0, outputList[i][0])
worksheet.write(i+1, 3, outputList[i][1], center)
if outputList[i][2] == "Passed":
worksheet.write(i+1, 1, outputList[i][2], passed)
elif outputList[i][2] == "Failed":
worksheet.write(i+1, 1, outputList[i][2], failed)
if outputList[i][3] == "Severe":
worksheet.write(i+1, 2, outputList[i][3], severe)
if outputList[i][3] == "Moderate":
worksheet.write(i+1, 2, outputList[i][3], moderate)
if outputList[i][3] == "Minor":
worksheet.write(i+1, 2, outputList[i][3], minor)
嗨,我正在尝试使用python将值输入到我的自动生成的excel中,并且我想从上面的for循环中将值插入到我的excel中之后,我想在下面将值插入到另一个列表中,但是我该怎么做那?下面的其他for循环代码:
for i in range (len(passList)):
worksheet.write(i+1, 0, passList[i][0])
worksheet.write(i+1, 3, passList[i][1], center)
if passList[i][2] == "Passed":
worksheet.write(i+1, 1, passList[i][2], passed)
if passList[i][3] == "None":
worksheet.write(+1, 2, passList[i][3])
答案 0 :(得分:0)
如果我正确理解了您想做什么,那么类似的事情就可以完成:
for i, item in enumerate(outputList, start=1):
worksheet.write(i, 0, item[0])
# ...
for i, item in enumerate(passList, start=len(outputList+1)):
worksheet.write(i, 0, item[0])
# ...
我正在使用内置的[enumerate]
1函数来避免不得不输入outputList[i]
数以千计的次数,并使用其可选的start
参数来将编号调整为工作表。
修改
如果要对两个列表执行完全相同的操作,则可以从一开始就将它们连接起来:
for i, item in enumerate(outputList + passList, start=1):
# ...
很显然,这将为串联列表使用一些额外的内存。如果不可接受,则可以使用itertools.chain而不是将它们串联。