如何将值为列表的字典写入CSV文件并添加自定义表头
解决方法:将带列表值的字典写入带表头的CSV文件
嘿,这个需求用Python内置的csv模块就能完美实现,不用额外装库,简单又可靠!下面是具体的实现步骤和代码:
核心思路
我们需要把字典的每个key作为每行的第一个单元格,对应的列表元素依次填充到后面的单元格,同时先写入指定的表头。关键是把key和列表合并成一个完整的行数据,再逐行写入CSV。
完整代码示例
import csv # 定义你的数据字典和表头列表 my_dict = {'r1':[1,0,0,1,1,0,1,0], 'r2' : [0,1,1,0,1,1,0,0]} header = ['R','t1','t2','t3','t4','t5','t6','t7','t8'] # 打开CSV文件并写入数据(用with语句自动管理文件关闭) with open('result.csv', 'w', newline='', encoding='utf-8') as csv_file: # 创建CSV写入器对象 csv_writer = csv.writer(csv_file) # 第一步:写入表头 csv_writer.writerow(header) # 第二步:遍历字典,逐行写入数据 for row_key, row_values in my_dict.items(): # 将key和列表元素合并成一行数据 current_row = [row_key] + row_values csv_writer.writerow(current_row)
关键细节说明
newline='':这个参数是为了避免在Windows系统下生成的CSV出现多余的空行,提升跨平台兼容性。encoding='utf-8':指定编码格式,防止出现中文乱码(如果你的数据里有中文的话),纯数字/字母场景也可以省略,但加上更稳妥。[row_key] + row_values:把字典的key转换成单元素列表,再和值列表拼接,刚好匹配表头的列数(1个key列 + 8个t列)。
最终CSV效果
打开生成的result.csv后,内容会是这样的(每个元素都在独立单元格):
R,t1,t2,t3,t4,t5,t6,t7,t8 r1,1,0,0,1,1,0,1,0 r2,0,1,1,0,1,1,0,0
内容的提问来源于stack exchange,提问作者Samantha
相关产品推荐
相关产品推荐

