如何将大型列表存入CSV文件并按每3个数据匹配表头?
解决方法
1. 拆分数据
先把data按每3个元素一组拆分,直接用列表推导式就能搞定:
grouped_data = [data[i:i+3] for i in range(0, len(data), 3)]
这里用步长为3的索引遍历data,每次截取3个元素,最后一组哪怕不足3个也会保留剩下的内容。
2. 写入CSV文件
用Python自带的csv模块来写文件,步骤很简单:
import csv header = ['a','b','c'] data = ['1','2','3','4','5','6'] + [str(i) for i in range(7, 101)] # 拆分数据 grouped_data = [data[i:i+3] for i in range(0, len(data), 3)] # 写入CSV with open('output.csv', 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) writer.writerow(header) # 先写表头 writer.writerows(grouped_data) # 批量写入所有分组数据
可选:补全不足3个元素的分组
如果希望最后一组不足3个的元素自动补空(对应表头的3列),可以修改拆分逻辑:
grouped_data = [] for i in range(0, len(data), 3): group = data[i:i+3] # 补空直到凑够3个元素 while len(group) < 3: group.append('') grouped_data.append(group)
这样生成的CSV文件就完全匹配你要的格式了。
内容的提问来源于stack exchange,提问作者Caspar
相关产品推荐
相关产品推荐

