csv介绍
- 逗号分隔值csv(Comma-SeparatedValues),其文件以纯文本形式存储表格数据。
- 原理:使用逗号
,分割数据 - excel及各种数据库软件均支持csv文件的读写
语法
读取
- 示例1:
with open('./csv_test.csv', 'r', encoding='utf-8') as fp: # reader是一个迭代器 reader = csv.reader(fp) # next(): 从列表索引为1(第2个元素)开始打印 -> 忽略标题 next(reader) for i in reader: data = {'employee': i[0], 'love_rate': i[2]} print(data)

- 示例2:字典方式
with open('csv_test.csv', 'r', encoding='utf-8') as fp: # 使用DictReader创建的reader对象 reader = csv.DictReader(fp) # 自动不包含表头数据 # reader是一个迭代器, 遍历这个迭代器, 返回一个【字典】 for i in reader: data = {'employee': i['职位'], 'love_rate': i['热爱度']} print(data)

写入
- 示例1:在
open方法中一般指定newline='',避免每次写入多出额外空行with open('./csv_test.csv', 'w', encoding='utf-8', newline='') as fp: # 将文件加载到csv对象中 writer = csv.writer(fp) # 写入一行数据 writer.writerow(['职位', '语言', '热爱度']) # 写入多行数据 data = [ ('后端开发', 'Java,Golang', '1'), ('前端开发', 'JavaScript', '2'), ('游戏开发', 'Unity', '3'), ('爬虫', 'Python', '4'), ('机器学习', 'Python', '5') ] writer.writerows(data)

- 示例2:字典方式
with open('./csv_test.csv', 'w', encoding='utf-8', newline='') as fp: writer = csv.DictWriter(fp, ['职位', '语言', '热爱度']) # 写入表头数据, 需要调用writeheadr()方法 writer.writeheader() data = [ {'职位': '后端开发', '语言': 'Java', '热爱度': '1'}, {'职位': '前端开发', '语言': 'Js', '热爱度': '2'}, {'职位': '游戏开发', '语言': 'Unity', '热爱度': '3'}, {'职位': '爬虫', '语言': 'Python', '热爱度': '4'}, {'职位': '机器学习', '语言': 'Python', '热爱度': '5'} ] writer.writerows(data)

本文介绍了CSV(逗号分隔值)文件的原理和在Python中的使用,包括如何通过迭代器和字典方式读取数据,以及如何以不同方式写入数据,如使用writer和DictWriter。
926

被折叠的 条评论
为什么被折叠?



