Python编程之csv读写操作
什么是csv
csv(Comma Separated Values) 即逗号分隔值(也称字符分割值,因为分割值可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件。Python自带了csv模块,专门用于处理csv文件的读取。
csv模块的使用
写入csv文件
- 通过创建writer对象,主要用到两个方法。一个是writerow(),写入一行;另一个是writerows(),写入多行。
- 建立DictWriter对象,可以使用字典的方式把数据写入进去。
代码如下:
import csv
# 法一 通过writer对象
title = ['学号', '姓名', '成绩']
info = [
[001, 'Rose', 89.0],
[002, 'Jack', 80.5],
[003, 'David', 76.3]
]
with open('student.csv','w',encoding='utf-8',newline='') as f:
writer = csv.writer(f)
writer.writerow(title)
# 通过writerow()方法写入
for data in info:
writer.writerow(data)
# 通过writerows()方法写入
writer.writerows(info)
# 法二 通过DictWriter对象
title = ['学号', '姓名', '成绩']
info = [
{'学号': 001, '姓名': 'Rose', '成绩': 89.0},
{'学号': 002, '姓名': 'Jack', '成绩': 80.5},
{'学号': 003, '姓名': 'David', '成绩': 76.3}
]
with open('student.csv', 'w', encoding='utf-8', newline='') as f:
Dictwrier = csv.DictWriter(f, title)
Dictwriter.writeheader()
Dictwriter.writerows(info)
读取文件
- 通过reader() 读取到的每一条数据是个列表。可以通过下标的方式获取具体某一个值。
- 通过DictReader() 读取到的每一条数据是一个字典。可以通过key值(列名)的方式获取数据。
代码如下:
import csv
# 法一 通过reader对象
title = ['学号', '姓名', '成绩']
with open('student.csv','r',encoding='utf-8',newline='') as f:
reader= csv.reader(f)
for x in reader:
print(x) # 读取的是一个列表
# 法二 通过DictReader对象
with open('student.csv', 'r', encoding='utf-8', newline='') as f:
Dictreader = csv.DictReader(f)
for x in Dictreader:
print(x) # 读取的是一个有序字典