习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天。
import csv fieldnames="pmi_days.csv" good=0 bad=0 little=0 a=0 b=0 list = [] list1= [] with open(fieldnames,'r') as f: reader = csv.reader(f) fieldnames = next(reader) csv_reader = csv.DictReader(f,fieldnames=fieldnames) for row in csv_reader: dict = {} for key, value in row.items(): # row是循环遍历 dict[key] = value list.append(int(dict.get("PM2.5"))) list1.append(dict.get("日期")) if dict['质量等级'] == "优": good+= 1 if dict['质量等级'] == "良": bad += 1 if dict['质量等级'] == "中度污染": little += 1 for i in range(0,len(list)): if list[i]==max(list): a=list1[i] if list[i]==min(list): b=list1[i] print("优:{}".format(good)) print("良:{}".format(bad)) print("中度污染:{}".format(little)) print("PM2.5的最大值:{} 日期:{}".format(max(list),a )) print("PM2.5的最小值:{} 日期:{}".format(min(list),b ))
习题2:读入文件1980-2018GDP.csv,完成以下操作:
1.按行输出每年GDP数据,表头列名如文件第1行所示。
import csv filename = '1980-2018GDP.csv' with open(filename, 'r') as f: reader = csv.reader(f) header = next(reader) print(fieldnames) for row in reader: print(row)
2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如:
{
2017:[827121.7,6.8%,60989]
........
}
import csv list=[] list1=[] array={} yuan=[] with open("1980-2018GDP.csv",'r') as f: reader = csv.reader(f) fieldnames = next(reader) csv_reader = csv.DictReader(f,fieldnames=fieldnames) for row in reader: list.append(row) with open("1980-2018GDP.csv", 'r') as f: reader = csv.reader(f) fieldnames = next(reader) csv_reader = csv.DictReader(f, fieldnames=fieldnames) for row in csv_reader: dict={} for key,value in row.items(): dict[key] = value if key == 'GDP(亿元)': yuan.append(float(dict.get('GDP(亿元)'))) dict.get('年份') list1.append(int(dict.get('年份'))) for i in range(0, len(list)): array[list1[i]] = list[i][1:] print(array)
3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。
扫描二维码关注公众号,回复:
6270436 查看本文章
import csv list1=[] yuan=[] a=0 b=0 with open("1980-2018GDP.csv", 'r') as f: reader = csv.reader(f) fieldnames = next(reader) csv_reader = csv.DictReader(f, fieldnames=fieldnames) for row in csv_reader: dict={} for key,value in row.items(): #row是循环遍历 dict[key] = value if key == 'GDP(亿元)': yuan.append(float(dict.get('GDP(亿元)'))) dict.get('年份') list1.append(int(dict.get('年份'))) for i in range(0,len(yuan)): if yuan[i]==max(yuan): a=list1[i] if yuan[i]==min(yuan): b=list1[i] print("GDP的最大值:{} 日期:{}".format(max(yuan), a)) print("GDP的最小值:{} 日期:{}".format(min(yuan), b))