1 import csv 2 a=0 3 b=0 4 c=0 5 d=0 6 list=[] 7 list1=[] 8 with open("F:\pythoncharm\pmi_days.csv","r") as f: 9 reader = csv.reader(f) 10 fieldnames = next(reader)# 获取数据的第一列,作为后续要转为字典的键名 生成器,next方法获取 11 csv_reader = csv.DictReader(f,fieldnames=fieldnames)# list of keys for the dict 以list的形式存放键名 12 for row in csv_reader: 13 dict = {} 14 for key, value in row.items(): 15 dict[key] = value 16 if value=='优': 17 a=a+1 18 elif value=='良': 19 b=b+1 20 elif value=='中度污染': 21 c=c+1 22 elif value=='轻度污染': 23 d=d+1 24 elif key=='PM2.5': 25 list.append(int(dict.get("PM2.5"))) 26 elif key=='日期': 27 list1.append(dict.get("日期")) 28 for i in range(0,len(list)): 29 if list[i]==max(list): 30 e=list1[i] 31 if list[i] == min(list): 32 x = list1[i] 33 print("质量优:{}天".format(a)) 34 print("质量良:{}天".format(b)) 35 print("中度污染:{}天".format(c)) 36 print("轻度污染:{}天".format(d)) 37 print("PM2.5最大值为:{} 日期为:{}".format(max(list),e)) 38 print("PM2.5最小值为:{} 日期为:{}".format(min(list),x))
习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天。
https://gitee.com/hyyPython/karomdili/commit/4f079771241a32e0ab258003754c99dfe706e911
习题2:读入文件1980-2018GDP.csv,完成以下操作:
1.按行输出每年GDP数据,表头列名如文件第1行所示。
2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如:
{
2017:[827121.7,6.8%,60989]
........
}
3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。
1 import csv 2 a=[] 3 b=[] 4 c=[] 5 x={} 6 with open("F:\pythoncharm\1980-2018GDP.csv", 'r') as f: 7 reader = csv.reader(f) 8 fieldnames = next(reader) 9 print(fieldnames) 10 csv_reader = csv.DictReader(f,fieldnames=fieldnames) 11 for row in reader: 12 a.append(row) 13 for i in range(0,len(a)): 14 print("%-8s"%a[i][0],"\t%-10.7s"%a[i][1],"\t%-12.5s"%a[i][2],"\t%-13.5s"%a[i][3],a[i][4]) 15 with open("F:\pythoncharm\1980-2018GDP.csv", 'r') as f: 16 reader = csv.reader(f) 17 fieldnames = next(reader) 18 csv_reader = csv.DictReader(f, fieldnames=fieldnames) 19 for row in csv_reader: 20 dict = {} 21 for key, value in row.items(): 22 dict[key] = value 23 if key=='GDP(亿元)': 24 c.append(float(dict.get('GDP(亿元)'))) 25 dict.get('年份') 26 b.append(int(dict.get('年份'))) 27 for i in range(0,len(a)): 28 x[b[i]]=a[i][1:] 29 if a[i] == max(a): 30 maxyear = b[i] 31 if a[i] == min(a): 32 minyear = b[i] 33 print(x) 34 print("\n") 35 print("GDP最大值为:{}亿元 那一年是:{}年".format(max(c),maxyear)) 36 print("GDP最小值为:{}亿元 那一年是:{}年".format(min(c),minyear))
https://gitee.com/hyyPython/karomdili/commit/5d538f4325f7a47d312e234c52458ddd277b8345