习题1:读入文件pmi_days.csv,完成以下操作:
1.统计质量等级对应的天数,例如:
优:5天
良:3天
中度污染:2天
2.找出PMI2.5的最大值和最小值,分别指出是哪一天。
import csv
filename = 'pmi_days.csv'
a=0
b=0
c=0
d=0
e=0
list = []
list1 = []
with open(filename,'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['质量等级'] == "优":
a += 1
if dict['质量等级'] == "良":
b += 1
if dict['质量等级'] == "中度污染":
c += 1
for i in range(0,len(list)):
if list[i]==max(list):
d=list1[i]
if list[i]==min(list):
e=list1[i]
print("优:{}\n良:{}\n中度污染:{}".format(a,b,c))
print("PM2.5最大值:{} 日期:{}".format(max(list),d ))
print("PM2.5最小值:{} 日期:{}".format(min(list),e ))
码云地址:https://gitee.com/Cream_k/lzx/commit/5fa857d858808c7c96a4355b60f618d2991e3c19#diff-0
习题2:读入文件1980-2018GDP.csv,完成以下操作:
1.按行输出每年GDP数据,表头列名如文件第1行所示。
2.将各年GDP数据转换成字典格式,以年份为keys,其它值为values(数据类型为列表方式),例如:
{
2017:[827121.7,6.8%,60989]
........
}
3.遍历字典数据,求出GDP的最小值与最大值,并输出数据与对应的年份。
import csv
list=[]
list1=[]
zidian={}
daxiao=[]
d=0
e=0
with open("1980-2018GDP.csv",'r') as f:
reader = csv.reader(f)
fieldnames = next(reader)
print(fieldnames)
csv_reader = csv.DictReader(f,fieldnames=fieldnames)
for row in reader:
list.append(row)
for i in range(0,len(list)):
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])
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(亿元)':
daxiao.append(float(dict.get('GDP(亿元)')))
dict.get('年份')
list1.append(int(dict.get('年份')))
for i in range(0, len(list)):
zidian[list1[i]] = list[i][1:]
print(zidian)
for i in range(0,len(daxiao)):
if daxiao[i]==max(daxiao):
d=list1[i]
if daxiao[i]==min(daxiao):
e=list1[i]
print("PM2.5最大值:{} 日期:{}".format(max(daxiao), d))
print("PM2.5最小值:{} 日期:{}".format(min(daxiao), e))
码云地址:https://gitee.com/Cream_k/lzx/commit/01a6c4213566f649f3cc375892314bd06e4b144f