标签:文件 obj python writer 表头 person file csv
一、使用csv模块进行读写
1、通过writer和reader对象进行写和读操作
-
写操作
通过创建writer对象写入:
-
- 创建数据和表头
- 创建writer对象
- 写表头
- 遍历列表,将每一行数据写入
案例一(每次写入一行):
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)
说明: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)
# 3.写入数据(一次性写入多行)
writer.writerows(person)
-
读操作
通过reader对象读取
案例:
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)
2、通过dictwriter和dictreader对象进行写和读操作
-
写操作
- 创建数据和表头(数据必须是字典格式)
- 创建dictwriter对象
- 写表头
- 写入数据
案例:
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)
- 读操作
案例:
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)
二、使用pandas模块进行读写
标签:文件,obj,python,writer,表头,person,file,csv 来源: https://www.cnblogs.com/litianming/p/16334105.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。