csv文件处理
import csv
def read_csv_demo1():
with open('newhouse.csv','r',encoding='utf-8')as fp:
#reader是一个迭代器
reader = csv.reader(fp)
for x in reader:
# print(x)
# 获取其中数据
name = x[1]
print({'name':name})
def read_csv_demo2():
with open('newhouse.csv', 'r', encoding='utf-8')as fp:
#使用DictWriter创建的reader对象
# 不会包含标题一行数据
# reader是一个迭代器,遍历这个迭代器,返回回来的是一个字典
reader = csv.DictReader(fp)
for x in reader:
print(x)
if __name__ == '__main__':
read_csv_demo2()
写入数据到csv文件:写入数据到csv文件,需要创建一个writer对象,主要用到两个方法。一个是writerow,这个是写入一行。一个是writerows,这个是写入多行。也可以使用字典的方式把数据写入进去。这时候就需要使用DictWriter了。
import csv
def writer_csv_demo1():
headers = ['username','age','country']
values = [
('刘湾',18,"中国"),
('八千',21,"中国")
]
with open('classroom.csv','w',encoding='utf-8',newline="")as fp:
writer = csv.writer(fp)
writer.writerow(headers)
writer.writerows(values)
def writer_csv_demo2():
headers = ['username', 'age', 'country']
values = [
{'username':'刘湾','age':18,'country':"中国"},
{'username':'八千','age':21,'country':"中国"}
]
with open('classroom1.csv', 'w', encoding='utf-8', newline="")as fp:
writer = csv.DictWriter(fp,headers)
# 写入表头数据的时候,需要调用writeheader方法
writer.writeheader()
writer.writerows(values)
if __name__ == '__main__':
writer_csv_demo2()