python以字典方式写入csv文件实现步骤

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

将字典数据写入CSV文件是Python中常见的操作,适用于保存结构化数据。使用内置的csv模块可以轻松实现这一功能,尤其适合处理表格类信息。

1. 准备数据:定义字典或字典列表

要写入CSV的数据通常是一个字典,或多个字典组成的列表。每个字典代表一行数据,键对应列名,值对应单元格内容。

示例:

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 csv

with 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非常直观高效。