python - 将多个 json 请求附加到一个数据帧
问题描述
我有多个具有相同信息但位于不同位置的 json 请求,这些请求由多边形区分。网址示例:www.dummy.com/whatever?type=fruit&polygon=1,1;2,2
。我有大约 20 个相同fruit
但不同的请求polygon
。
我的目标是在任何位置附加所有相同的水果。url 请求为 JSON 格式。
我创建了一个字典,其中存储了所有 URL,并以这种方式构建它们:
urlDict['fruit']+polygonsDict[coords]
字典看起来像这样:
urlDict = {
'fruit': 'www.dummy.com/whatever?type=fruit&polygon=',
'animal': 'www.dummy.com/whatever?type=animal&polygon=',
'colour': 'www.dummy.com/whatever?type=colour&polygon='
}
polygonsDict = {
0:'1,1;2,2',
1:'3,3;4,4',
2:'5,5;6,6'}
现在,我想遍历所有fruit
url 并将它们附加到数据框。由于响应是 JSON 格式,我想使用 python来explode
扩展作为值的。dict
DataFrame
list
这是我的代码:
for idx, polygon in polygonsDict.items():
url = urlDict['fruit']+polygonsDict[coords]
print(url) #www.dummy.com/whatever?type=fruit&polygon=blahblah
try :
raw = req.get(url).json()
fruits_raw = [raw] #convert the result to list
fruits_df = pd.DataFrame(fruits_raw).explode('fieldname').reset_index(drop=True)
print(fruits_df)
except KeyError:
print("No fruit in this location.")
该代码为每个多边形创建单独的数据框。我希望它附加并生成一个关于fruit
不管polygon
. 我怎样才能做到这一点?
解决方案
将我的评论形式化为答案。使用pandas.concat()
您可以将 DataFrames 列表合并为一个。
import pandas as pd
frames = []
for idx, polygon in polygonsDict.items():
url = urlDict['fruit']+polygonsDict[coords]
print(url) #www.dummy.com/whatever?type=fruit&polygon=blahblah
try :
raw = req.get(url).json()
fruits_raw = [raw] #convert the result to list
fruits_df = pd.DataFrame(fruits_raw).explode('fieldname').reset_index(drop=True)
print(fruits_df)
# Add the frame to the list
frames.append(fruits_df)
except KeyError:
print("No fruit in this location.")
# Combine the list of DataFrames into a single DataFrame
single = pd.concat(frames)
print(single)
推荐阅读
- azure-data-explorer - Kusto KQL 查询以扩展多个实体
- sql - 在单个查询中显示来自 emp 和 dept 表的统计信息
- phpstorm - PhpStorm 冻结、索引缓慢、加载文件夹
- react-native - 使用 React-Native 实现类似 Instagram 的按钮,
- xamarin.android - Visualstudio appcenter 找不到密钥库文件 Xamarin.android
- powershell - OneDrive FB 使用 Microsoft Graph API Powershell 创建文件夹
- python - 在python中验证分数
- spring-webflux - 有没有办法在 Mono.zip 中提供事务回滚?
- python - 如何使用 python opencv 重建扭曲和像素化的图像进行人脸识别
- unity3d - Unity 2D Animations:如何同时实现跳跃+射击?