我如何使用 for 循环,以便在它运行我的第一个列表后,它将继续使用另一个列表进行第二个 for 循环


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]) 

如果我正确理解了你想做什么,这样的事情可能会完成这项工作:

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而不是连接它们。

最新更新