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

求助:Python多列表写入CSV仅输出一行的问题解决

问题解决:多长度列表导出CSV仅一行的问题

问题原因

你当前使用的zip(*export)会以所有列表中最短的那个长度作为迭代终止条件,所以只要有一个列表(比如你提到的仅含1个元素的列表),整个循环就只会生成一行数据。

解决方案

使用itertools.zip_longest替代zip,它会以最长列表的长度为准,对较短列表的缺失位置填充默认值(或指定值):

修改后的代码

import csv
from itertools import zip_longest

export = [solutions, fedata, bbcom, fenxt, ten_99, ten_99links]
with open('test.csv','w') as f:
    writer = csv.writer(f)
    # writer.writerow(['列1', '列2', '列3', '列4', '列5', '列6']) # 可取消注释添加自定义表头
    for x in zip_longest(*export, fillvalue=''):  # fillvalue指定缺失位置的填充内容,示例用空字符串
        writer.writerow(x)

关键说明

  • zip_longest会遍历到最长的列表结束,短列表的空缺位置会用fillvalue指定的内容填充,你也可以根据需求改成None或其他值
  • 后续给列表添加元素后,重新运行代码会自动扩展CSV的行数,无需修改核心逻辑
  • 下次读取CSV还原列表时,可根据填充值过滤无效内容(比如空字符串)

内容的提问来源于stack exchange,提问作者NaterVater none

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 17:55:57