第五次作业——黄渗茹

 

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

import csv
p=0;u=0;k=0;d=0
s=[]
with open("pmi_days.csv","r") as f:
    reader = csv.reader(f)    
    fieldnames = next(reader) 
    csv_reader = csv.DictReader(f,fieldnames=fieldnames) #self._fieldnames = fieldnames   # list of keys for the dict 以list的形式存放键名    
    for row in csv_reader:        
        dict={}        
        for key,value in row.items():            
            dict[key]=value  
        if(dict["质量等级"]==""):
                p=p+1
        elif(dict["质量等级"]==""):
                u=u+1
        elif(dict["质量等级"]=="中度污染"):
                k=k+1  
        elif(dict["质量等级"]=="轻度污染"):
                d=d+1
        s.append(list(dict.values()))
   # print(s)
     
    for row in range(0,len(s)):
        s[row][3]=int(s[row][3])
    for i in range(0,len(s)-1):
        for j in range(i+1,len(s)):
            if(s[i][3]<s[j][3]):
                a=s[j][3]
                s[j][3]=s[i][3]
                s[i][3]=a
                
                b=s[j][0]
                s[j][0]=s[i][0]
                s[i][0]=b
    
    print("优的天数{}\n良的天数{}\n中度污染的天数{}\n轻度污染的天数{}\n".format(p,u,k,d))
    print("PMI2.5的\n最大值{},对应的日期为{}\n最小值{}, 对应的日期为{} ".format(s[0][3],s[0][0],s[-1][3],s[-1][0]))
       

码云地址:https://gitee.com/huangshenru/codes/s9fyhzr2nou0plq6kb5j193

 

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

import csv

with open("1980-2018GDP.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]
........
}

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

import csv
import csv
b={};s=[];v=[]
with open("1980-2018GDP.csv","r") as f:
    reader = csv.reader(f)    
    fieldnames = next(reader)
    csv_reader = csv.DictReader(f,fieldnames=fieldnames) #self._fieldnames = fieldnames   # list of keys for the dict 以list的形式存放键名    
    for row in csv_reader:        
        dict={} 
        keys=row["年份"]
        del row["年份"]
        values=list(row.values())
        b[keys]=values
    print(b)
    print("\n")
    s.append(list(b.items()))
    for row in range(0,len(s)):
        s[0][i][1][0]=float(s[0][j][1][0])
    for i in range(0,len(s)-1):
        for j in range(i+1,len(s)):
            if(s[0][i][1][0]<s[0][j][1][0]):
                a=s[0][j][1]
                s[0][j][1]=s[0][i][1]
                s[0][i][1]=a
                
                b=s[0][j][0]
                s[0][j][0]=s[0][i][0]
                s[0][i][0]=b
        

    print("GDP的\n最小值{},对应的日期为{}\n最大值{}, 对应的日期为{} ".format(s[0][0][1],s[0][0][0],s[0][-1][1],s[0][-1][0]))

  

码云地址:https://gitee.com/huangshenru/codes/pc0glw5i43vzx8d61ktqm52

posted @ 2019-05-24 15:53  玖凉  阅读(207)  评论(0编辑  收藏  举报