使用python3解析json元素

2024-10-06 11:59:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从thingspeak解析这个数据,这样在python中,我就可以对字段1对另一个类似的变量进行数学运算,还可以将创建的\u at解析成一种格式,这样我就可以从该记录到当前日期时间等做一个日期/时间差

搜索了很多谷歌,但没有找到什么工作,因为我是新手,我不知道该找什么确切

 `URL='https://api.thingspeak.com/channels/CHANNELID/fields/1.json? 
 api_key='
 KEY='READ KEY'
 HEADER='&results=1'
 TIMEZONE='&timezone=America%2FChicago'
 NEW_URL=URL+KEY+HEADER+TIMEZONE
 #print(NEW_URL)

 get_data=requests.get(NEW_URL).json()
 #print(get_data)
 channel_id=get_data['channel']['id']

 field_1=get_data['feeds']
 print(field_1)`

这将导致:

[{'entry_id': 3131, 'created_at': '2019-03-29T10:48:04-05:00', 'field1': '10.3'}]

所以我想解析field1的浮点值,现在是10.3

以及

created_at解析成一个变量,这个变量可以用来计算日期/时间差


Tags: keyapiidjsonurlnewdataget
1条回答
网友
1楼 · 发布于 2024-10-06 11:59:02

只需使用float()解析函数,即可将字符串解析为浮点数:

float_numb = float(field_1[0]["field1"])

对于datetime解析,可以使用dateutilparser.parser()函数

from dateutil import parser
created_at = parser.parse(field_1[0]["created_at"])

我试过这种方法,似乎效果不错

import requests
from dateutil import parser

URL='https://api.thingspeak.com/channels/CHANNELID/fields/1.json?api_key='
KEY='READ KEY'
HEADER='&results=1'
TIMEZONE='&timezone=America%2FChicago'
NEW_URL=URL+KEY+HEADER+TIMEZONE
#print(NEW_URL)

get_data=requests.get(NEW_URL).json()
#print(get_data)
channel_id=get_data['channel']['id']

field_1=get_data['feeds']
print(field_1)
float_numb = float(field_1[0]["field1"])
created_at = parser.parse(field_1[0]["created_at"])

相关问题 更多 >