#CSV显示GDP import csv import json import pygal.maps.world from pygal_maps_world.i18n import COUNTRIES def get_country_code(country_name): """根据国家的名称,获取国家的二位简称""" for code,name in COUNTRIES.items(): if country_name==name: return code return None #没有值就返回none #获取每个国家的国家简称--GDP的对应数据 filename="gdp_csv.csv" with open(filename) as f: #获取文件对象 reader=csv.reader(f) #创建阅读器对象 header_row=next(reader) #获取首行 country_GDP={} #创建一个存储国家简称--GDP的字典 for row in reader: #遍历阅读器对象 if row[2]=='2000': country=row[0] #当前行的第一列 code=get_country_code(country) GDP=float(row[3]) if code: country_GDP[code]=GDP #创建世界地图 wm=pygal.maps.world.World() wm.title="2000年世界GDP数据" wm.add("2000",country_GDP) wm.render_to_file('worldGDP.svg') #json显示GDP___________________________________________________________________________________________________________ jsonfilename='gdp_json.json' with open(jsonfilename) as f: #获取json的文件对象 data=json.load(f) #获取json对象的数据 datas1,datas2,datas3,datas4={},{},{},{} for dt in data: country_name=dt['Country Name'] code=get_country_code(country_name) value=float(dt["Value"]) year=dt["Year"] if year==2001: if value<10567304189: datas1[code]=value elif value<189212096470.293: datas2[code]=value elif value<614756473708.65: datas3[code]=value else: datas4[code]=value wm1=pygal.maps.world.World() wm1.title="JSON GDP" wm1.add("2001四等",datas1) wm1.add("2001三等",datas2) wm1.add("2001二等",datas3) wm1.add("2001一等",datas4) wm1.render_to_file("jsonGDP.svg")