使用csv.DictWriter可将字典列表写入CSV文件。首先定义数据,如包含姓名、年龄、城市的字典列表;然后通过open函数创建文件,指定mode='w'和newline=''避免空行;接着用csv.DictWriter传入字段名初始化写入器;调用writeheader()写入表头;最后用writerows()写入所有数据行。注意字段名需与字典键一致,或设置extrasaction='ignore'忽略多余键,确保写入成功。

将字典数据写入CSV文件是Python中常见的操作,适用于保存结构化数据。使用内置的csv模块可以轻松实现这一功能,尤其适合处理表格类信息。
1. 准备数据:定义字典或字典列表
要写入CSV的数据通常是一个字典,或多个字典组成的列表。每个字典代表一行数据,键对应列名,值对应单元格内容。
示例:
立即学习“Python免费学习笔记(深入)”;
data = [
{'name': 'Alice', 'age': 25, 'city': 'Beijing'},
{'name': 'Bob', 'age': 30, 'city': 'Shanghai'},
{'name': 'Charlie', 'age': 35, 'city': 'Guangzhou'}
]2. 使用csv.DictWriter写入文件
csv.DictWriter能直接处理字典格式,自动按字段顺序写入列头和行数据。
步骤如下:
- 打开一个CSV文件用于写入(使用mode='w')
- 创建DictWriter对象,传入字段名(fieldnames)
- 调用writeheader()写入表头
- 使用writerows()或逐行writerow()写入数据
代码示例:
import csvwith open('output.csv', mode='w', encoding='utf-8', newline='') as file: fieldnames = ['name', 'age', 'city'] writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader() # 写入列名 writer.writerows(data) # 写入所有行
3. 注意事项与常见问题
确保字段名与字典的键一致,否则会报错或遗漏数据。如果字典包含不在fieldnames中的键,可设置extrasaction='ignore'避免异常。
例如:
writer = csv.DictWriter(file, fieldnames=fieldnames, extrasaction='ignore')
同时,不要忽略newline=''参数,防止在Windows系统下产生空行。
基本上就这些。只要数据组织成字典形式,用DictWriter写入CSV非常直观高效。










