第五次作业

习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天。

 1 import csv
 2 filename='D:\Downloads\pmi_days.csv'
 3 with open(filename, 'r') as f:
 4 reader = csv.reader(f)
 5 header_row = next(reader)
 6 heads = []# 创建一个空列表用于存放每天的质量等级
 7 pm=[]#创建一个空列表用于存放每天的PM2.5
 8 day=[]#创建一个空列表用于存放日期
 9 for row in reader: # 遍历文件对象
10 heads.append(row[2]) # 添加每行的第一列到列表里
11 pm.append(int(row[3]))
12 day.append(row[0])
13 y=0
14 l=0
15 q=0
16 z=0
17 for i in range (30):
18 if heads[i]=="":
19 y=y+1
20 elif heads[i]=="":
21 l=l+1
22 elif heads[i]=='轻度污染':
23 q=q+1
24 elif heads[i]=='中度污染':
25 z=z+1
26 zuida=max(pm)
27 zuixiao=min(pm)
28 print("优{}天,良{}天,轻度污染{}天,中度污染{}天".format(y,l,q,z))
29 for a in range(30):
30 if pm[a]==zuida:
31 print("PMI2.5的最大值是{},是{}".format(zuida,day[a]))
32 for b in range(30):
33 if pm[b]==zuixiao:
34 print("PMI2.5的最小值是{},是{}".format(zuixiao, day[b]))

 

习题2:读入文件1980-2018GDP.csv,完成以下操作:
1.按行输出每年GDP数据,表头列名如文件第1行所示。

 

import csv
with open("D:\Downloads\GDP.csv" ,'r') as f:
    reader = csv.reader(f)   #默认返回list 每行类型
    for row in reader:
        print(row)

2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如:
{
2017:[827121.7,6.8%,60989]
........
}

 1 import csv
 2 list=[]
 3 list1=[]
 4 zidian={}
 5 daxiao=[]
 6 d=0
 7 e=0
 8 with open("D:\Downloads\GDP.csv",'r') as f:
 9     reader = csv.reader(f)
10     fieldnames = next(reader)
11     print(fieldnames)
12     csv_reader = csv.DictReader(f,fieldnames=fieldnames)
13     for row in reader:
14         list.append(row)
15     for i in range(0,len(list)):
16         print("%-8s"%list[i][0],"\t%-10.7s"%list[i][1],"\t%-12.5s"%list[i][2],"\t%-13.5s"%list[i][3],list[i][4])
17 with open("D:\Downloads\GDP.csv", 'r') as f:
18     reader = csv.reader(f)
19     fieldnames = next(reader)
20     csv_reader = csv.DictReader(f, fieldnames=fieldnames)
21     for row in csv_reader:
22         dict={}
23         for  key,value in row.items():
24             dict[key] = value
25             if key == 'GDP(亿元)':
26                 daxiao.append(float(dict.get('GDP(亿元)')))
27         dict.get('年份')
28         list1.append(int(dict.get('年份')))
29     for i in range(0, len(list)):
30         zidian[list1[i]] = list[i][1:]
31     print(zidian)
32     for i in range(0,len(daxiao)):
33         if daxiao[i]==max(daxiao):
34             d=list1[i]
35         if daxiao[i]==min(daxiao):
36             e=list1[i]
37     print("PM2.5最大值:{}    日期:{}".format(max(daxiao), d))
38     print("PM2.5最小值:{}      日期:{}".format(min(daxiao), e))

 

posted @ 2019-05-31 08:52  蔡容铧  阅读(75)  评论(0)    收藏  举报