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

如何将嵌套元组的列表数据写入CSV文件并实现指定格式输出?

解决CSV文件写入格式问题

你的问题出在writer.writerows(row)的用法上:当你传入row(也就是每个元组里的两个列表)时,writerows会把第一个列表的每个元素单独写成一行,接着再把第二个列表的每个元素单独写成一行,这显然和你想要的“两个列表对应元素配对成一行”的效果不符。

正确的实现代码

import csv

data = [(['a', 'b', '3'], ['c', 'a', 'r']), 
        (['*', '[', 'e'], ['33', 'gh', 'ew']), 
        (['23^', 're#', '4$'], ['tr', 'fF', '5%'])]

with open('train.csv', 'w', newline='') as out:
    writer = csv.writer(out)
    for pair in data:
        # 用zip把两个列表的对应元素配对,生成每行的内容
        for item1, item2 in zip(pair[0], pair[1]):
            writer.writerow([item1, item2])
        # 每个元组迭代完成后插入空白行
        writer.writerow([])

代码解释

  • 用zip(pair[0], pair[1])把每个元组里的两个列表按索引配对,比如第一个元组会生成('a','c')、('b','a')、('3','r')这样的元素对;
  • 每次写完一个元组的所有配对行后,调用writer.writerow([])写入一个空行;
  • 添加newline=''是为了避免Windows系统下生成多余的空行(CSV模块的最佳实践)。

运行这段代码后,生成的train.csv就会完全符合你想要的格式啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:42:41