Python数据读写操作-json格式的台风数据

原始数据来自温州台风网,为2017年27个台风的详细资料,需要做的是将27个台风信息写入一个csv表格中,另外将它们的点位观测信息分开写成27个csv,具体可参考附件文件(文末有百度云链接)中的output文件夹。

参考代码如下:

import json
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
typhon27=[]  # 把27个台风数据读入该列表,访问方式为:typhoon[i] 
points=[]    # 把27个台风的points都存入其中 ,去除 forecast
for i in range(1,28):  
    path =  r'2017\2017'+str(i).zfill(2)+'.json' 
    with open(path, 'r') as f:
        data = json.load(f)[0]
        typhon27.append(data)
typhonindex=['ename', 'land', 'name', 'tfbh', 'points', 'is_current', 'end_time', 'begin_time']
dictout1=[]
for data in typhon27:
    po=data['points'] # 存了很多时次的数据
    for j in po:
        del j['forecast']
    points.append(po)  # points 存入27个台风的信息
#   data_copy = data.copy() #copy 保存
    del data['points']  
    dictout1.append(data)
# 将27个台风的基本信息写成一个csv文件:
dictout1=pd.DataFrame(dictout1)    #dictout1 是一个存台风信息字典的 列表[{},{},{}...],可以直接 -> DataFrame -> csv
dictout1.to_csv('typhon.csv')
# 将27个台风的点位信息分别写成csv文件:
for i,a in enumerate(points,1):  
    aout=pd.DataFrame(a)    
    aout.to_csv('t'+str(i)+'.csv')

数据及输出文件:
链接:https://pan.baidu.com/s/1smRMc6D 密码:pus2

猜你喜欢

转载自blog.csdn.net/maverick_7/article/details/79198701