千家信息网

python中csv文件的写入与读取怎么实现

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"python中csv文件的写入与读取怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python中csv文件的写入与读取怎么
千家信息网最后更新 2026年10月31日python中csv文件的写入与读取怎么实现

这篇文章主要讲解了"python中csv文件的写入与读取怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"python中csv文件的写入与读取怎么实现"吧!

CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件。python自带了csv模块,专门用于处理csv文件的读取

csv的写入

通过创建writer对象,主要用到2个方法。一个是writerow,写入一行。另一个是writerows写入多行

使用DictWriter 可以使用字典的方式把数据写入进去

第一种写入方法(通过创建writer对象)

先来说一下第一种写入的方法:通过创建writer对象写入(每次写入一行)
步骤:1.创建数据和表头2.创建writer对象3.写表头4.遍历列表,将每一行数据写入csv
代码如下:

import csvperson = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8') as file_obj:    # 1:创建writer对象    writer = csv.writer(file_obj)    # 2:写表头    writer.writerow(header)    # 3:遍历列表,将每一行的数据写入csv    for p in person:        writer.writerow(p)

写入完就会在当前目录下出现一个person.csv文件,鼠标右键点击show in Explorer打开person.csv查看




打开以后会发现写入的数据中间会换行
居然:那么应该怎么解决这个问题呢
hacker:很简单啊
只需要在写入数据的时候加上一个参数 newline=''为了防止换行写入
改正后的代码如下:

import csv# 数据person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:    # 创建对象    writer = csv.writer(file_obj)    # 写表头    writer.writerow(header)    # 遍历,将每一行的数据写入csv    for p in person:        writer.writerow(p)


✅通过创建writer对象(一次性写入多行)
步骤:1.创建数据和表头2.创建writer对象3.写表头4.在writerows里传入你要处理的数据

import csv# 数据person = [('xxx', 18, 193), ('yyy', 18, 182), ('zzz', 19, 185)]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:    # 创建对象    writer = csv.writer(file_obj)    # 写表头    writer.writerow(header)    # 3.写入数据(一次性写入多行)    writer.writerows(person)

写入结果如下:

第二种写入方法(使用DictWriter可以使用字典的方式将数据写入)

注意事项:使用字典的方式写入要注意传递的数据格式必须是字典
如果不是字典的话会报错

AttributeError: 'tuple' object has no attribute 'keys'

步骤1.创建数据和表头( 数据必须是字典格式)2.创建DictWriter对象3.写表头4.写入数据

import csv# 数据person = [    {'name': 'xxx', 'age': 18, 'height': 193},    {'name': 'yyy', 'age': 18, 'height': 182},    {'name': 'zzz', 'age': 19, 'height': 185},]# 表头header = ['name', 'age', 'height']with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:    # 1.创建DicetWriter对象    dictWriter = csv.DictWriter(file_obj, header)    # 2.写表头    dictWriter.writeheader()    # 3.写入数据(一次性写入多行)    dictWriter.writerows(person)

csv的读取

通过reader()读取

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:    # 1.创建reader对象    reader = csv.reader(file_obj)    print(reader)

如果直接打印会返回csv.reader对象,这时需要遍历列表

<_csv.reader object at 0x000001FB8CE655F8>

改正代码如下:

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:    # 1.创建reader对象    reader = csv.reader(file_obj)    # 2.遍历进行读取数据    for r in reader:        print(r)

读取结果如下:

['name', 'age', 'height']['xxx', '18', '193']['yyy', '18', '182']['zzz', '19', '185']

如果想打印列表的某一个值,可以使用索引打印

print(r[0])
namexxxyyyzzz

通过dictreader()读取

import csvwith open('person.csv', 'r', encoding='utf-8') as file_obj:    # 1.创建reader对象    dictReader = csv.DictReader(file_obj)    # 2.遍历进行读取数据    for r in dictReader:        print(r)

返回结果如下:

OrderedDict([('name', 'xxx'), ('age', '18'), ('height', '193')])OrderedDict([('name', 'yyy'), ('age', '18'), ('height', '182')])OrderedDict([('name', 'zzz'), ('age', '19'), ('height', '185')])

这时我们如果要取到某一个值就需要指定键去寻找值

print(r['name'])
xxxyyyzzz

感谢各位的阅读,以上就是"python中csv文件的写入与读取怎么实现"的内容了,经过本文的学习后,相信大家对python中csv文件的写入与读取怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

数据 对象 表头 文件 字典 一行 方法 格式 多行 一次性 代码 方式 步骤 结果 处理 学习 内容 字符 逗号 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 厦门中拓互联网络科技有限公司 工业互联网科技新基建 互联网金融 金融科技 互联网金融公司科技 互联网科技革命 互联网 新科技 盛创互联网科技有限公司 中国科技互联网公司收入 湖北码尼互联网科技有限公司电话 恒生互联网科技指数跳水 广西互联网科技孵化中心 互联网科技人工智能实验室 乌鲁木齐新华智原互联网科技学校 互联网在线教育科技创业 高科技互联网发展前景如何 威龙国际互联网科技公司 科技互联网海报 美国互联网科技公司 2021世界互联网领先科技成果发布 上海乐五互联网科技有限公司 互联网科技公司起名 互联网金融科技委员会 互联网科技公司做什么 中化能源互联网科技招聘 科技赋能视角下互联网保险发展 长沙互联网科技 好易买互联网科技 互联网科技创业计划的风险分析 广东猫王互联网科技有限公司电话 互联网企业和网络科技有限公司
0