第五次作业 ——吴靖瑜

 习题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的最小值与最大值,并输出数据与对应的年份。

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))

猜你喜欢

转载自www.cnblogs.com/taetaewu/p/10920293.html