[英]I'm trying to learn to to request, load and parse Json data from API. I'm getting a value error
[英]I'm trying to parse a Json file from Airtable API, but it's not parsing empty fields or delimiters
我目前正在尝试从 Airtable API 解析一些数据,在某种程度上,它已经奏效了。
我做了很多挖掘,发现这个非常好的资源: http : //blog.appliedinformaticsinc.com/how-to-parse-and-convert-json-to-csv-using-python/
我的问题是,当我尝试将其放入 Dataframe 时,未解析空字段,并导致列移位,因此从未正确构建数据框。
例如:
{'offset': --,
'records': [{'createdTime': time,
'fields': {'A': '1',
'B': '2',
'C': 3,
'D': 'text',
'E': object,
}]
由于我将第一行字段作为字典键,任何时候它们中的一个丢失,由于某种原因它没有在代码中分开,它会是这样的:
[{'createdTime': time,
'fields': {'A': '1',
'B': '2',
'D': 'text',
'E': object,
}]
并且脚本不会将其与其各自的列对齐。 我需要帮助,因为我尝试以多种方式解析记录,这与我已经开始工作一样接近。 如果有人对 Airtable API 有经验,我们将不胜感激。 PowerBI 查询实际上可以正确获取数据,因此在某处必须有一个隐藏的分隔符。
我在 API 请求方面不是非常有经验,而且我主要处理非复杂的数据帧,所以我虚心地向大家寻求帮助。
提前致谢,马特
感谢您的帮助,我已经通过在分页上应用 pd.Series 两次解决了主要问题。
import requests
headers = {'Authorization': 'Bearer api_key','Content-
type':'application/json'}
for offset in range(0, 1000,100):
url = airtable_url + '&offset=' + str(offset)
r = requests.get(airtable_url, headers=headers)
x = pd.DataFrame(r.json())
x = x['records'].apply(pd.Series)
x = x['fields'].apply(pd.Series)
我的主要问题是我仍然只得到 100 条记录,但至少数据框现在是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.