我使用以下Python行从特定的API读取了数据
import requests
import json
# read all Measurement from one sensor for several days.
r = requests.get('https://wastemanagement.post-iot.lu/measurement/measurements?source=83512 pageSize=1000000000&dateFrom=2019-10-26&dateTo=2019-10-28', auth=('xxxxx', 'xxxxx'))
text=r.text # data is stored in json format
这是一个输出示例,但实际输出包含几行: 实际输出可以从这里下载actual output
enter code here
Valid JSON (RFC 8259)
Formatted JSON Data
{
"next":"https://wastemanagement.post-iot.lu/measurement/measurements?dateTo=2019-10-28&
pageSize=2000&source=83512&dateFrom=2019-10-26¤tPage=2",
"self":"https://wastemanagement.post-iot.lu/measurement/measurements?dateTo=2019-10-28&
pageSize=2000&source=83512&dateFrom=2019-10-26¤tPage=1",
"statistics":{
"totalPages":null,
"currentPage":1,
"pageSize":2000
},
"measurements":[
{
"self":"https://wastemanagement.post-iot.lu/measurement/measurements/108451",
"time":"2019-10-26T00:00:06.494Z",
"id":"108451",
"source":{
"self":"https://wastemanagement.post-iot.lu/inventory/managedObjects/83512",
"id":"83512"
},
"type":"c8y_Measurement",
"battery":{
"percent":{
"unit":"%",
"value":98
}
}
},
{
"self":"https://wastemanagement.post-iot.lu/measurement/measurements/108452",
"time":"2019-10-26T00:00:06.538Z",
"id":"108452",
"source":{
"self":"https://wastemanagement.post-iot.lu/inventory/managedObjects/83512",
"id":"83512"
},
"type":"TemperatureMeasurement",
"c8y_TemperatureMeasurement":{
"T":{
"unit":"C",
"value":23
}
}
},
{
"self":"https://wastemanagement.post-iot.lu/measurement/measurements/108537",
"time":"2019-10-26T00:00:06.577Z",
"id":"108537",
"source":{
"self":"https://wastemanagement.post-iot.lu/inventory/managedObjects/83512",
"id":"83512"
},
"type":"c8y_Measurement",
"c8y_DistanceMeasurement":{
"distance":{
"unit":"cm",
"value":21
}
}
},
我尝试使用以下代码将JSON格式(存储在文本中)转换为pandas DataFrame,但没有成功
data = json.loads(text)
我想把JSON格式转换成pandas DataFrame,这个DataFrame应该包含五列(id、battery、T或Temperature、time和distance)和几行
这应该管用。顺便说一句,我不知道你具体需要什么时间在数据帧中。因此,我在解决方案中包含了所有这些问题(如果您不确定测量的顺序)
你可以试试这个,效果很好
result of the code you can see find here
您将得到所需的结果,您希望其余的一些列值,您可以进一步修改,以获得列值。你知道吗
相关问题 更多 >
编程相关推荐