CSV文件操作
csv文件又叫逗号分隔值文件 - 每一行内容时通过逗号来区分出不同的列
csv文件可以直接通过excel打开,以行列的形式保存和显示数据,但是相对excel文件,不能保存公式和函数
csv读操作
1)创建打开csv文件
import csv
f = open('电影.csv', 'r', encoding='utf-8')
当前目录下有一个名为电影的CSV文件。
2)创建reader获取文件内容
csv.reader(文件对象) -获取文件内容返回一个迭代器,并且以列表为单位返回每一行内容
csv.DictReader(文件对象) - 获取文件内容返回一个迭代器,并且以字典为单位返回第二行开始的每一行内容(字典的键是第一行内容)
reader2 = csv.DictReader(f)
print(list(reader2))
reader1 = csv.reader(f)
print(list(reader1))
f.close()
with 用法
文件对象= open()
操作文件
文件对象.close()
with open() as 文件对象:
操作文件
with操作文件的时候文件会自动关闭
CSV文件的写操作
1)打开文件
f = open('data.csv', 'a', encoding='utf-8')
2)创建writer对象
csv.writer(文件对象) - 创建writer对象,这个对象在写入数据的时候一行对应一个列表
csv.DictWriter(文件对象,键列表) - 创建writer对象, 以字典为单位写入数据
# a.以列表为单位写入一行内容
writer = csv.writer(f)
writer.writerow(['姓名', '出生日期', '性别', '电话'])
writer.writerow(['小明', '1998-8-9', '男', '110'])
# b.一次写多行内容
writer.writerows([
['小花', '2003-2-3', '女', '123'],
['张三', '1998-3-2', '男', '520']]
)
# 以列字典为单位写入一行内容
writer = csv.DictWriter(f, ['姓名', '出生日期', '性别', '电话'])
# 写入文件头
writer.writeheader()
# 一次写入一行内容
writer.writerow({'姓名': 'xiaom', '出生日期': '1562-3-2', '性别': '男', '电话': '456'})
# 一次写入多行内容
writer.writerows([{'姓名': 'xiaom', '出生日期': '1562-3-2', '性别': '男', '电话': '456'},
{'姓名': 'xiaom', '出生日期': '1562-3-2', '性别': '男', '电话': '456'}])