zoukankan      html  css  js  c++  java
  • 使用pygal.maps.world库读取CSV、JSON格式文件,显示世界GDP地图图示

    #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")
  • 相关阅读:
    2.24 Java基础总结 ①内部类基础
    2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块
    2.24 Java基础总结 ①for-each循环②继承概念③全类名④方法重写
    Shell 编程和Python编程的那些不同之处(一)
    python标准异常
    Python 常用模块总结
    Python正则表达式指南
    新员工入职自动加入所在部门的邮件组。
    c++四则运算代码
    马云语录
  • 原文地址:https://www.cnblogs.com/ghgxm520/p/8580006.html
Copyright © 2011-2022 走看看