首页IT科技python中csv文件读取与写入(【python基础教程】csv文件的写入与读取)

python中csv文件读取与写入(【python基础教程】csv文件的写入与读取)

时间2025-05-02 09:45:46分类IT科技浏览3270
导读:csv的简单介绍...

csv的简单介绍

csv的写入

1

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

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

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

先来说一下第一种写入的方法:通过创建writer对象写入(每次写入一行)

步骤

:1.创建数据和表头2.创建writer对象3.写表头4.遍历列表      ,将每一行数据写入csv

代码如下:
import csv person = [(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查看

打开以后会发现写入的数据中间会换行

只需要在写入数据的时候加上一个参数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 csv with 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 csv with 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])
name xxx yyy zzz

通过dictreader()读取

import csv with 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])
xxx yyy zzz

以上就是python基础教程之csv文件的写入和读取           ,如果有改进的建议,欢迎在评论区留言奥~

声明:本站所有文章                 ,如无特殊说明或标注                 ,均为本站原创发布      。任何个人或组织,在未征得本站同意时           ,禁止复制           、盗用                 、采集      、发布本站内容到任何网站           、书籍等各类媒体平台           。如若本站内容侵犯了原著者的合法权益                 ,可联系我们进行处理                。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
外链检测工具怎么用(外链分析工具推荐及使用方法!) 超级蜘蛛游戏手机版(网络实时收录查询超级蜘蛛池)