• 使用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")
  • 相关阅读:
    排序算法
    【转】《分享一下我研究SQLSERVER以来收集的笔记》未整理
    D3.js学习记录
    D3.js学习记录【转】【新】
    JAVA FILE or I/O学习
    JAVA GUI学习
    android一键锁屏
    源文件如何转换到可执行文件
    手动搭建maven项目
    ThinkingInJava----第11章 持有对象
  • 原文地址:https://www.cnblogs.com/ghgxm520/p/8580006.html
Copyright © 2020-2023  润新知