首页 > 解决方案 > 在 xlsxwriter 模块中使 for 循环动态化

问题描述

我有以下循环语句,它贯穿“报告”对象并更新 Excel 工作表中的值,如图所示:

row = 1
col = 0

for e1, e2, e3 in report:
    worksheet1.write(row, col, e1, number_format)
    worksheet1.write(row, col + 1, e2, number_format)
    worksheet1.write(row, col + 2, e3, number_format)
    row += 1

如图所示,我正在尝试更新 3 列,即 e1、e2 和 e3。我正在尝试查看是否可以使这个 for 循环动态化,以便它可以运行任意数量的列而无需定义它。

任何人都可以就此提出建议。谢谢

标签: pythonfor-loopxlsxwriter

解决方案


也许我误解了,但你不能这样做吗?

current_row = 1

for values in report:
    for idx, value in enumerate(values):
        worksheet1.write(current_row, idx, value, number_format)
    current_row += 1

基本上,这并没有指定 e1、e2、e3,而是将元组写入values,然后一个新的for循环遍历该元组,并且与条目数无关。


推荐阅读