python 18 csv和excel
1. csv文件读
1.1 什么是csv文件?
csv文件是逗号分割值文件 - 每一行内容是通过逗号来区分不同的列
csv文件可以直接通过Excel打开,以行的形式保存和显示数据,但是,相对Excel文件,它只能存储数据,不能保存公式和函数。
1.2 csv读操作
导入csv — import csv
-
第一步:创建打开csv文件
#方法1 f=open('files/电影.csv','r',encoding='utf-8') #方法2 #带有自动关闭文件的功能 with open('files/电影.csv','r',encoding='utf-8') as f:
-
第二步:创建reader获取文件内容
- 语法1:csv . reader(文件对象) - 获取文件内容返回一个迭代器,并且以列表为单位返回每一行内容
- 语法2:csv . DictReader(文件对象) - 获取文件内容返回一个迭代器,并且以字典为单位返回第2 行开始的每一行内容(字典的键是第一行内容)
f=open('files/电影.csv','r',encoding='utf-8')
reader2=csv.reader(f)
print(list(reader2))
f.close()
reader3=csv.DictReader(f)
print(list(reader3))
f.close()
- 例题练习
2. csv写操作
数据存储成csv或Excel文件
2.1 打开文件
- 首先要导入 csv — import csv
f=open('files/data.csv','w',encoding='utf-8')
#因为是要进行写操作,选择mode是w or a.
2.2 创建writer对象
-
语法1:csv . writer( 文件对象 ) — 创建writer对象,这个对象在写入数据的时候,一行对应一个列表。
-
语法2:csv.Dictwriter ( 文件对象) — 创建writer对象,这个对象在写入数据的时候,一行对应一个字典。
-
案例说明
a . 以列表为单位写csv
writer.writerow(['姓名','出生日期','性别','电话']) writer.writerow(['小明','1999-9-9','男','12345']) #b.以列表为单位,一次写入多行内容 writer.writerow([ ['姓名','出生日期','性别','电话'], ['小明','1999-9-9','男','12345'], ['小红','2001-9-23','女','65432324'], ['小颖','2003-4-7','女','76543345