python 下载数据json 2021-02-27

import json


#探索数据的结构

filename = 'data/1.json'

with open(filename) as f:

    all_eq_data = json.load(f)    #存储进去一个json数据对象


'''

readable_file = 'data/readable_eq_data.json'    #创建一个文件对象

with open(readable_file,'w') as f:

    json.dump(all_eq_data,f,indent = 4)    #接受一个json数据对象和文件对象    indent缩进

'''


all_eq_dicts = all_eq_data['features']    #提取键"features"数据并储存


mags,titles,lons,lats= [],[],[],[]

for eq_dict in all_eq_dicts:

    mag = eq_dict['properties']['mag']    #每次地震震级存储在'properties'部分的'mag'下

    title = eq_dict['properties']['title']    #存储title

    lon = eq_dict['geometry']['coordinates'][0]    

    lat = eq_dict['geometry']['coordinates'][1]

    mags.append(mag)

    titles.append(title)

    lons.append(lon)

    lats.append(lat)


print(mags[:10])    #提取震级

#print(len(all_eq_dicts))    #提取所有地震的次数

print(titles[:2])

print(lons[:5])

print(lats[:5])


绘制震级散点图:

import plotly.express as px


fig = px.scatter(

    x = lons,

    y = lats,

    labels = {'x':'经度','y':'纬度'},

    range_x = [-200,200]

    range_y = [-90,90]

    width = 800,

    height = 800,

    title = '全球地震散点图'

)

fig.write_html('global_earthquakes.html')    #保存文件

fig.show()    #显示


另一种指定图标数据的方式:

import pandas as pd

data = pd.DataFrame(

    data = zip(lons,lats,titles,mags),columns = ['经度','纬度','位置','震级']    #封装数据

)

data.head()

然后参数配置方式可以从:

    x = lons,

    y = lats,

    labels = {'x':'经度','y':'纬度'},

变更为:

    data,

    x = '经度'

    y = '纬度'

    ……

    size = '震级',

    size_max = 10,    #默认20


    color = '震级',    #标记颜色 蓝<红<黄


    hover_name = '位置',    #添加鼠标指向时显示的文本

    

你可能感兴趣的:(python 下载数据json 2021-02-27)