爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4795|回复: 6

求网络数据(json)或自定义数组数据解析案例

[复制链接]

新浪微博达人勋

发表于 2021-9-9 18:40:10 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 flyed 于 2021-9-9 18:42 编辑

需求为请求网络数据(json)进行画图,查询软件中给的实例都是通过文件进行读取的,原本想通过程序转化为数组数据但在画图过程中报错,经多次尝试侯仍未找到相关处理内容,还请知道的朋友告知下.
  1. aqi=[1,2,3] # 数据请求解析后内容

  2. #To grid data
  3. x = arange(73.50, 135.50, 0.1)
  4. y = arange(18, 53.70, 0.1)

  5. gtemp,gx,gy = griddata((lng, lat), aqi, xi=(x, y), method='idw', pointnum=4)

  6. #Plot
  7. axesm(axison=False, gridlabel=False, frameon=False)
  8. china_layer = geoshow('china', visible=False)
  9. layer = contourfm(x, y, gtemp, 20)
  10. masklayer(china_layer, [layer])
复制代码


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-9-9 19:59:58 | 显示全部楼层
确实没读懂题目意思。
第一,报错是最直观的解决问题突破口
第二,json格式pandas或者json包就可以直接解析,经过或不经过normalize,成array-like的数据结构。
第三,我看你的数据是站点的?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-9-10 08:38:36 | 显示全部楼层
edwardli 发表于 2021-9-9 19:59
确实没读懂题目意思。
第一,报错是最直观的解决问题突破口
第二,json格式pandas或者json包就可以直接解析 ...

首先感谢回复,我使用王老师的meteoinfo做的,但不知道如果把数据解析成array-like数据,直接使用aqi=[1,2,3]这种格式不行,本来是有错误提示的,但我的截图不让上传我也是醉了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-9-10 09:03:47 | 显示全部楼层
flyed 发表于 2021-9-10 08:38
首先感谢回复,我使用王老师的meteoinfo做的,但不知道如果把数据解析成array-like数据,直接使用aqi=[1, ...

可以把列表转为NDArray试试, aqi = array([1,2,3])
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-9-10 11:14:52 | 显示全部楼层
flyed 发表于 2021-9-10 08:38
首先感谢回复,我使用王老师的meteoinfo做的,但不知道如果把数据解析成array-like数据,直接使用aqi=[1, ...

截图不能传,也能复制文字吧……

aqi是个list,但不是ndarray,不知道griddata传递是否有变量类型限制。


很早之前解析站点json的,供参考:import json
import numpy as np
with open('data/pandas/DM.json', 'r',encoding='utf-8') as fdm:
    ddm = json.load(fdm)
    dfdm = pd.json_normalize(ddm['DS'])
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-9-10 11:58:31 | 显示全部楼层
edwardli 发表于 2021-9-10 11:14
截图不能传,也能复制文字吧……

aqi是个list,但不是ndarray,不知道griddata传递是否有变量类型限制 ...

我的问题使用array函数解决了。
关于图传的问题,钻牛角尖了   ̄□ ̄||,
您的方法我已尝试,但在王老师的环境里没能成功引入numpy
再次感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-9-10 14:07:49 | 显示全部楼层
MeteoInfo 发表于 2021-9-10 09:03
可以把列表转为NDArray试试, aqi = array([1,2,3])

感谢,使用此方法已正确进行数据转换
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表