Python中读写CSV文件的完整指南:列表与字典模式详解
本文详细介绍Python中如何使用内置csv库读取和写入CSV文件。涵盖以列表形式进行单行及批量写入、读取数据,以及利用字典形式写入表头与数据、直接解析为有序字典读取的方法。同时提供文件打开模式(r, w, a, r+, w+, a+, b)的详细说明,帮助开发者掌握CSV数据处理的核心技巧。
前言
CSV(Comma-Separated Values,逗号分隔值)是一种以逗号为分隔符、按行存储的纯文本文件格式。需要注意的是,CSV中所有的值在存储时均表现为字符串类型,即使内容是数字也需视为字符串处理。若CSV文件中包含中文字符,建议在读写时明确指定utf-8编码,以确保数据正确显示。
1.导入CSV库
Python标准库中自带了csv模块,无需额外安装。在进行CSV文件的读写操作前,只需在代码开头导入该库即可直接使用相关功能。
import csv2.对CSV文件进行读写
2.1 用列表形式写入CSV文件
语法说明:csv.writer(f) 用于创建写入对象。该对象支持 writerow(列表) 方法用于单行写入,以及 writerows(嵌套列表) 方法用于批量写入多行数据。使用这些方法时无需手动调用保存操作,文件会自动处理写入过程。
import csv
header = ['name','age','QQ_num','wechat']
data = [['suliang','21','787991021','lxzy787991021']]
with open ('information.csv','w',encoding='utf-8',newline='') as fp:
# 写
writer =csv.writer(fp)
# 设置第一行标题头
writer.writerow(header)
# 将数据写入
writer.writerows(data)结果:

注意:打开文件时应指定模式为 'w',表示文本写入。此外,打开文件时必须指定参数 newline='',否则在Windows系统下每写入一行可能会额外多出一个空行,导致格式错误。
2.2 用列表形式读取CSV文件
语法说明:csv.reader(f, delimiter=',')。reader 返回的是一个生成器对象,每次调用可读取一行数据,每行数据以列表格式返回。可以通过 delimiter 参数自定义分隔符,默认为逗号。
import csv
with open('information.csv',encoding='utf-8')as fp:
reader = csv.reader(fp)
# 获取标题
header = next(reader)
print(header)
# 遍历数据
for i in reader:
print(i)结果:

读取文件时,务必确保文件路径正确,若不确定相对路径,建议使用绝对路径以避免错误。要获取CSV的具体内容,需要遍历reader对象并输出数据。
2.3 用字典形式写入csv文件
语法说明:csv.DictWriter(f, fieldnames)。写入时,可先使用 writeheader() 方法写入标题行,随后使用 writerow(字典格式数据行) 写入单条数据,或使用 writerows(多行数据列表) 批量写入。
import csv
header = ['name','age']
data = [{'name':'suliang','age':'21'},
{'name':'xiaoming','age':'22'},
{'name':'xiaohu','age':'25'}]
with open ('information.csv','w',encoding='utf-8',newline='') as fp:
# 写
writer =csv.DictWriter(fp,header)
# 写入标题
writer.writeheader()
# 将数据写入
writer.writerows(data)结果:

2.4 用字典形式读取csv文件
语法说明:csv.DictReader(f, delimiter=',')。该函数会将CSV的标题行与每一列数据自动组装成有序字典(OrderedDict)格式。这种方式无需再单独读取并处理标题行,直接遍历即可获取键值对数据。
import csv
with open('information.csv',encoding='utf-8')as fp:
reader = csv.DictReader(fp)
for i in reader
print(i)结果:

附:csv读写的模式
- r:以只读方式打开文件,允许读取文件信息。
- w:以写入方式打开文件,可向文件写入信息。如果文件已存在,则先清空文件内容,再写入新数据。
- a:以追加模式打开文件,文件指针移至文件末尾。如果文件不存在,则创建新文件。
- r+:以读写方式打开文件,允许对文件进行读和写操作。
- w+:先消除文件原有内容,再以读写方式打开文件。
- a+:以读写方式打开文件,文件指针移至末尾,允许在末尾追加或从头读取。
- b:以二进制模式打开文件,通常用于非文本文件处理。
结语
到此这篇关于在Python中读取和写入CSV文件详情的文章就介绍到这了,更多相关Python读写CSV文件内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













