ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python CSV操作

2022-06-04 21:03:11  阅读:225  来源: 互联网

标签:csv python age writer 写入 persons reader 操作 CSV


来源:(47条消息) python_csv文件写入_侯小啾的博客-CSDN博客_pythoncsv文件写入

使用writerow方法给csv文件写入内容。
open()函数如果没有设定 newline=’’ (空字符串),表格中会隔一行写一行。
然后创建一个writer对象。writerow()方法可以写入一行,writerows()方法可以写入多行。

writerow()
import csv


persons = [('Tom', 20, 180), ('Allen', 21, 182), ('Jerry', 22, 181)]
headers = ('name', 'age', 'height')
with open('persons.csv', 'w', encoding='utf-8', newline='') as f:
write = csv.writer(f) # 创建writer对象
write.writerow(headers)
# 写内容,writerrow 一次只写入一行
for data in persons:
write.writerow(data)


writerows()
一次性写入多行,不用遍历。

persons = [('Tom', 20, 180), ('Allen', 21, 182), ('Jerry', 22, 181)]
headers = ('name', 'age', 'height')
with open('persons2.csv', 'w', encoding='utf-8', newline='') as f:
write = csv.writer(f)
write.writerow(headers)
# 写内容,writerows,一次写入多行内容
write.writerows(persons)


DictReader()
写入字典数据。

persons = [
{'name': 'Tom', 'age': 20, 'height': 180},
{'name': 'Allen', 'age': 21, 'height': 182},
{'name': 'Jerry', 'age': 22, 'height': 181},
]
# 数据的keys要跟表头对应,数量也要保持一致,否则会报错
headers = ('name', 'age', 'height')
with open('persons3.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.DictWriter(f, headers)
writer.writeheader()
writer.writerows(persons)
CSV读取
两种方法:

with open('persons.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
print(reader, type(reader)) # <_csv.reader object at 0x000001D5AEF6B518>
for i in reader:
print(i)
程序运行结果:


with open('persons.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
print(reader, type(reader)) # <_csv.reader object at 0x000001D5AEF6B518>
for i in reader:
print(i['age'])
程序运行结果:

标签:csv,python,age,writer,写入,persons,reader,操作,CSV
来源: https://www.cnblogs.com/smartisn/p/16342719.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有