第五次python作业

 

习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天

2.找出PMI2.5的最大值和最小值,分别指出是哪一天。

 1 import csv
 2 fieldnames="pmi_days.csv"
 3 good=0
 4 bad=0
 5 little=0
 6 a=0
 7 b=0
 8 list = []
 9 list1= []
10 with open(fieldnames,'r') as f:
11     reader = csv.reader(f)
12     fieldnames = next(reader)
13     csv_reader = csv.DictReader(f,fieldnames=fieldnames)
14     for row in csv_reader:
15         dict = {}
16         for key, value in row.items():  # row是循环遍历
17             dict[key] = value
18         list.append(int(dict.get("PM2.5")))
19         list1.append(dict.get("日期"))
20         if dict['质量等级'] == "":
21             good+= 1
22         if dict['质量等级'] == "":
23             bad += 1
24         if dict['质量等级'] == "中度污染":
25             little += 1
26     for i in range(0,len(list)):
27         if list[i]==max(list):
28             a=list1[i]
29         if list[i]==min(list):
30             b=list1[i]
31     print("优:{}".format(good))
32     print("良:{}".format(bad))
33     print("中度污染:{}".format(little))
34     print("PM2.5的最大值:{}    日期:{}".format(max(list),a ))
35     print("PM2.5的最小值:{}    日期:{}".format(min(list),b ))

 

习题2:读入文件1980-2018GDP.csv,完成以下操作:

1.按行输出每年GDP数据,表头列名如文件第1行所示。

1 import csv
2 filename = '1980-2018GDP.csv'
3 with open(filename, 'r') as f:
4     reader = csv.reader(f)
5     header = next(reader)
6     print(fieldnames)
7     for row in reader:
8         print(row)

 

 

  

2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如: { 2017:[827121.7,6.8%,60989] ........ } 3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。

 1 import csv
 2 list=[]
 3 list1=[]
 4 array={}
 5 yuan=[]
 6 with open("1980-2018GDP.csv",'r') as f:
 7     reader = csv.reader(f)
 8     fieldnames = next(reader)
 9     csv_reader = csv.DictReader(f,fieldnames=fieldnames)
10     for row in reader:
11         list.append(row)
12 with open("1980-2018GDP.csv", 'r') as f:
13     reader = csv.reader(f)
14     fieldnames = next(reader)
15     csv_reader = csv.DictReader(f, fieldnames=fieldnames)
16     for row in csv_reader:
17         dict={}
18         for  key,value in row.items():      
19             dict[key] = value
20             if key == 'GDP(亿元)':
21                 yuan.append(float(dict.get('GDP(亿元)')))
22         dict.get('年份')
23         list1.append(int(dict.get('年份')))
24     for i in range(0, len(list)):
25         array[list1[i]] = list[i][1:]
26     print(array)

3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。

 1 import csv
 2 list1=[]
 3 yuan=[]
 4 a=0
 5 b=0
 6 with open("1980-2018GDP.csv", 'r') as f:
 7     reader = csv.reader(f)
 8     fieldnames = next(reader)
 9     csv_reader = csv.DictReader(f, fieldnames=fieldnames)
10     for row in csv_reader:
11         dict={}
12         for  key,value in row.items():      #row是循环遍历
13             dict[key] = value
14             if key == 'GDP(亿元)':
15                 yuan.append(float(dict.get('GDP(亿元)')))
16         dict.get('年份')
17         list1.append(int(dict.get('年份')))
18     for i in range(0,len(yuan)):
19         if yuan[i]==max(yuan):
20             a=list1[i]
21         if yuan[i]==min(yuan):
22             b=list1[i]
23     print("GDP的最大值:{}".format(max(yuan), a))
24     print("GDP的最小值:{}".format(min(yuan), b))

 

posted @ 2019-05-24 22:43  知离  阅读(176)  评论(0)    收藏  举报