1:csv简介
python的内置模块,可以跨多种形式,导入导出数据,如可以使用excle打开,一般返回的数据在excel文件中打开 以后的案例都保存在csv文件中
1.2:
2:写入文件和读取文件
2.1:写入文件
把文件写入到csv文件中 通过writer()对象写入,主要使用两个方法
2.1.1:方法一,使用wreter的方式写入文件
通过使用writer()对象写入 1:writerow()写入一行 代码
import csv
headers = ('name','age','height') # 只要能够遍历就可以 迭代器 可迭代对象
persons = [
('青崖',18,180),
('少年梦',28,185),
('红苹果',38,170)
]
with open('persons.csv','w',encoding='utf-8') as file_obj:
writer = csv.writer(file_obj) # 创建一个writer对象
writer.writerow(headers) # 写入头文件
for data in persons:
writer.writerow(data) # 写入数据
headers = ('name','age','height') # 只要能够遍历就可以 迭代器 可迭代对象
persons = [
('青崖',58,180),
('少年梦',28,185),
('红苹果',38,170)
]
with open('persons.csv','w',encoding='utf-8',newline='') as file_obj: # open()函数默认有空行,在参数newline=''可以实数据相邻
writer = csv.writer(file_obj) # 创建一个writer对象
writer.writerow(headers) # 写入writer的头文件
writer.writerows(persons) # 写入writer的数据
2.2:方法二,使用Dictwriter对象来操作文件
headers = ('name','age','height')
persons = [
{'name':'笔记本','age':18,'height':175},
{'name':'张同学', 'age': 18,'height':175},
{'name':'杨同学', 'age': 18,'height':175},
]
with open('persons.csv','w',encoding='utf-8',newline='') as file_obj:
Dwriter = csv.DictWriter(file_obj,headers) # 创建一个Dictwriter对象
Dwriter.writeheader()
Dwriter.writerows(persons)
总结:
可以通过指定关键子参数newline来实现没有空行
3:读取文件
3.1:以reader对象读取
with open('persons.csv','r',encoding='utf-8',newline='') as file_obj:
reader = csv.reader(file_obj) # 创建一个reader对象
for x in reader:
print(x[2])
3.2:以Dictreader对象的形式来读取
with open('persons.csv', 'r', encoding='utf-8', newline='') as file_obj: # 创建一个Dictreader对象
Dreader = csv.DictReader(file_obj)
for x in Dreader:
print(x['name'])