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

發佈了34 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章