Python3处理json文件和csv文件

目录

1、Python3处理json文件

2、Python3处理csv文件


1、Python3处理json文件

'''
The i18n module was removed in pygal-2.0.0.
 however, it can now be found in the pygal_maps_world plugin.
You can install that with pip install pygal_maps_world.
Then you can access COUNTRIES as pygal.maps.world.COUNTRIES:
from pygal.maps.world import COUNTRIES
Whats left of the i18n module can be imported with:
from pygal_maps_world import i18n
'''
#获取两个字母的国别码
from pygal_maps_world.i18n import COUNTRIES
def get_country_code(country_name):
    for code,name in COUNTRIES.items():
        if name==country_name:
            return code
        return None
import json
from Country_codes import get_country_code
#提取相关数据
filename='population_data.json'
with open(filename) as f:
    pop_data=json.load(f) #json.load()将数据转换为Python能够处理的格式并存储在pop_data中
    for pop_dict in pop_data:
        #获得每个国家2010年的人口数量
        if pop_dict['Year']=='2010':
            country_name=pop_dict['Country Name']
            population=int(float(pop_dict['Value']))#先将字符串转换为浮点数,再将浮点数转换为整数
            code=get_country_code(country_name)  #获得国家的国别码
            if code:
                print(code+':'+str(population))
            else:
                print('ERROR-'+country_name)

2、Python3处理csv文件

import csv
from matplotlib import pyplot as plt
from datetime import datetime
#读取CSV文件数据
filename='sitka_weather_2014.csv'
with open(filename) as f: #打开这个文件,并将结果文件对象存储在f中
    reader=csv.reader(f)  #创建一个阅读器reader
    header_row=next(reader) #返回文件中的下一行
    dates,highs,lows=[],[],[]      #声明存储日期,最值的列表
    for row in reader:
        current_date=datetime.strptime(row[0],'%Y-%m-%d')  #将日期数据转换为datetime对象
        dates.append(current_date)    #存储日期
        high=int(row[1])    #将字符串转换为数字
        highs.append(high)   #存储温度最大值
        low=int(row[3])
        lows.append(low)    #存储温度最小值

#根据数据绘制图形
fig=plt.figure(dpi=128,figsize=(10,6))
plt.plot(dates,highs,c='red',alpha=0.5)#实参alpha指定颜色的透明度,0表示完全透明,1(默认值)完全不透明
plt.plot(dates,lows,c='blue',alpha=0.5)
plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.1) #给图表区域填充颜色
plt.title('Daily high and low temperature-2004',fontsize=24)
plt.xlabel('',fontsize=16)
plt.ylabel('Temperature(F)',fontsize=16)
plt.tick_params(axis='both',which='major',labelsize=16)
fig.autofmt_xdate()  #绘制斜的日期标签
plt.show()

 

sitka_weather_2014.csv 数据集文件

链接:https://pan.baidu.com/s/1lIsySGvjsoONGDLyaR39TQ 密码:5on4

 

 

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页