一.填空题错题反思
1.
csv.reader(csvFile)
continue
golddata(或者golddata.keys())
golddata[item[0]]
writer.writerows
csv的读写:(打开文件,转换文件对象,利用对于对象的方法读写)
reader(列表)/DictReader(字典)
writer(列表)/DictWriter(字典)
--------------------------------------------------------------
reader:
1.next:读取一行(返回列表),并将文件读取位置移动至下一行
2.for:遍历数据(返回列表),由于使用了next,所以从第二行开始
import csv
with open('information.csv', encoding='utf-8') as fp:
reader = csv.reader(fp)
header = next(reader) # 获取标题
print(header)
for i in reader: # 遍历数据
print(i)
#name,age
#suliang,21
#xiaoming,22
#xiaohu,25
#['name', 'age']
#['suliang', '21']
#['xiaoming', '22']
#['xiaohu', '25']
--------------------------------------------------------------
writer:
1.writerow:写一行( [] ),writerow的参数为列表
2.writerows:写多行([[], [], []]), wirterows的参数为嵌套列表
import csv
header = ['name', 'age', 'QQ_num', 'wechat']
data = [['zhangsan', '21', '78787878', 'zs78787878']]
with open('11.csv', 'w', encoding='utf-8', newline='') as fp:
writer = csv.writer(fp)
writer.writerow(header) # writerow的参数为列表
writer.writerows(data) # wirterows的参数为嵌套列表
#name,age,QQ_num,wechat
#zhangsan,21,78787878,zs78787878
--------------------------------------------------------------
DictReader:
1.for:遍历数据,直接将标题和每一列数据组装成有序字典(OrderedDict)格式,无须再单独读取标题行。
#姓名,学号
import csv
with open('11.csv', encoding='utf-8') as fp:
reader = csv.DictReader(fp)
for i in reader: #i为每一行,为一个字典
print(i)
#name,age,QQ_num,wechat
#zhangsan,21,78787878,zs78787878
#{'name': 'zhangsan', 'age': '21', 'QQ_num': '78787878', 'wechat': 'zs78787878'}
--------------------------------------------------------------
DictWriter:
1.对象转换注意
2.writeheader()
3.writerows():参数为嵌套列表,外列表,内字典
import csv
header = ['name', 'age']
data = [{'name': 'suliang', 'age': '21'},
{'name': 'xiaoming', 'age': '22'},
{'name': 'xiaohu', 'age': '25'}]
with open('11.csv', 'w', encoding='utf-8', newline='') as fp:
writer = csv.DictWriter(fp, header) # 写 header = ['name', 'age']
writer.writeheader() # 写入标题
writer.writerows(data) # 将数据写入 data = [{'name': 'suliang', 'age': '21'},{'name': 'xiaoming', 'age': '22'},{'name': 'xiaohu', 'age': '25'}]
#name,age
#suliang,21
#xiaoming,22
#xiaohu,25
--------------------------------------------------------------
二.编程题错题反思
import sys
a = sys.stdin.read()
print(a)
#12回车:读取缓冲区
#
#34回车:读取缓冲区
#
#asd回车:读取缓冲区
#^D:ctrl+d结束输入(有些系统是ctrl+Z)
#12
#
#34
#
#asd