python - 我如何使用 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而不是连接它们。
推荐阅读
- android - 在 init.rc chmod 系统文件 rw
- c - 如何在 Linux 中检查信号处理程序
- phantomjs - 使用 casperjs 执行 .click() 时打开 url
- c# - 生成视频站点地图无法正常工作
- java - 安装 Selenium POM 时 Maven 中的空格错误
- c++ - 如何加载崩溃的重命名可执行文件的符号
- lua - Lua 表的替代值(作为一个整体)
- r - 是否有使用带有负载()的管道的“正确”方法?
- python - Pandas:是否可以在 Jupyter Notebook 中创建类似 Excel Slicer 的(交互式过滤器)?
- java - JavaFX 添加线程