python中的文件读写
1.将StudentInfo中的信息以字典的形式存储在列表里。 # [{‘学号’: ‘1445204009’, ‘姓名’: ‘王召’, ‘平时成绩’: ‘100’, ‘期末成绩’: ‘90’}, # {‘学号’: ‘1445204013’, ‘姓名’: ‘林锦’, ‘平时成绩’: ‘95’, ‘期末成绩’: ‘67’} … ]
StudentInfo中的信息:
学号,姓名,平时成绩,期末成绩
1445204009,王召,100,90
1445204013,林锦,95,67
1445204017,杜静静,93,94
1445204021,范义森,96,95
1445204025,付浩,100,96
1445204026,刘西西,90,89
1445204029,申聪洋,79,64
1445204030,张萌,87,87
1445204034,刘现悦,94,92
1445204039,孙号然,93,66
1445204044,齐湘荣,91,98
1445204048,李晨光,85,94
import csv
list1=[]
with open('StudentInfo.csv', mode='r', encoding='gbk') as f:
re = csv.DictReader(f)
for row in re:
list1.append(row)
print(list1)
2、实验题目:字典格式读取文件
现有一个user.csv文件
name,username,email
杨洋,yangy,yangy@sina.com
贾子豪,jiazh,jiazh@126.com
于飞,yuf,yuf@163.com
田宇辰,tianych,tianych@sina.com
1)以字典格式读取csv文件并打印出每个人的名字和电子邮件地址
import csv
with open('user.csv', mode='r', encoding='utf-8') as f1:
users = csv.DictReader(f1)
for user in users:
# print(user)
print(user['name'],user['email'])
2)新建usercopy.csv文件,将user.csv文件的内容按照csv文件写入的方式写入进usercopy.csv中。
ith open('usercopy.csv', mode='w', encoding='utf-8', newline='') as f2:
fn = ['name','username','email']
rows = [{'name': '杨洋', 'username': 'yangy', 'email': 'yangy@sina.com'},
{'name': '贾子豪', 'username': 'jiazh', 'email': 'jiazh@126.com'},
{'name': '于飞', 'username': 'yuf', 'email': 'yuf@163.com'},
{'name': '田宇辰', 'username': 'tianych', 'email': 'tianych@sina.com'}]
#写入列标题,即DictWriter构造方法的fieldnames参数
wr = csv.DictWriter(f2, fieldnames = fn)
wr.writeheader()
wr.writerows(rows)
注意:编码方式变成了utf-8,如果用gbk编码的话,会报错。