You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

for循环遍历列表写入Excel时始终仅获取最后一个值问题求助

问题原因

你在else分支遍历roomnum时,始终向(row + 1, col)这个固定位置的单元格写入内容,前一次写入的值会被后一次覆盖,因此最终单元格内只会保留最后一个值Polygon 3。打印输出正常是因为终端输出不会覆盖之前的打印内容,不存在覆盖逻辑。

解决方法

根据你的使用场景二选一即可:

  1. 所有roomnum值放在同一个单元格,用逗号分隔:
    直接删除原有的for i in roomnum循环,替换为一行代码即可:
worksheet.write(row + 1, col, ",".join(roomnum), cell_format)
  1. 每个roomnum值单独占一行:
    遍历的时候同步递增行号,避免覆盖:
current_row = row + 1
for i in roomnum:
    print(i)
    worksheet.write(current_row, col, i, cell_format)
    current_row += 1
# 后续其他列的写入可以根据需求选择对应行号,若要和第一个roomnum行对齐就保留row+1即可
worksheet.write(row + 1, col + 1, convert_quantity_from_mm_squared_to(units, v['initialArea'], precision), cell_format)
worksheet.write(row + 1, col + 2, units, cell_format)
worksheet.write(row + 1, col + 3, ",".join(v['pages']), cell_format)

内容的提问来源于stack exchange,提问作者Cedric Woo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:18:02