我正在尝试从纽约开放数据中读取数据,它有大约2500万条记录。
def JSON_to_DF(json_file):
json_data = requests.get(json_file)
text_data = json.loads(json_data.text)
pd_data = pd.DataFrame(text_data)
return pd_data
data= JSON_to_DF('https://data.cityofnewyork.us/resource/erm2-nwe9.json')
我使用了限制功能,但我似乎无法超过 100,000 条记录。
data= JSON_to_DF('https://data.cityofnewyork.us/resource/erm2-nwe9.json?$limit=100000')
我该如何完成此操作?
对于大型数据集,Socrata 要求您对大型数据请求进行分页。某些数据集包含数十万甚至数百万行。分页允许它返回许多"页面"上的数据,让您累积整个下载。
对于 sodpy,.get()
会根据您的请求检索数据。在该请求中,它返回 100,000 行。在那之后,Socrata 可能只是超时并希望您分页。您需要查看sodpy的get_all()
函数,该函数旨在对请求进行分页。