遍历 url 端点并将 json 转换为 pandas 数据帧
Posted
技术标签:
【中文标题】遍历 url 端点并将 json 转换为 pandas 数据帧【英文标题】:Looping through url endpoints and converting json into pandas dataframe 【发布时间】:2020-11-28 04:07:48 【问题描述】:请看下面的代码:
rr = pd.DataFrame()
for i in range(len(tt)):
tes = pd.read_json(f'https://some/url/pageID=tt[i]')
data = rr.append(tes)
data
我从一个空的数据框开始。我正在尝试遍历具有许多端点的 url。在这种情况下,“tt”是一个整数列表。每个整数都指向一个带有 json 的 API 端点。当我查看名为“数据”的数据框时,它仅返回循环中的最后一行或最后一个端点。我该如何解决这个问题,以便获得完整的数据框?
【问题讨论】:
【参考方案1】:问题是您从未真正更新您的“rr”数据框。 如果您将新数据变量更改为“rr”,它应该可以工作。
rr = pd.DataFrame()
for i in range(len(tt)):
tes = pd.read_json(f'https://some/url/pageID=tt[i]')
rr = rr.append(tes)
rr
【讨论】:
我忽略了它。 +1【参考方案2】:一种方法是为每个请求创建单独的数据框并附加到列表中。完成所有请求后,您可以将所有单独的数据帧连接到单个数据帧。
df_list = []
for i in range(len(tt)):
tes = pd.read_json(f'https://some/url/pageID=tt[i]')
df_list.append(tes)
final_df = pd.concat(df_list)
【讨论】:
啊,这是正确的,对我有用,谢谢...我已经非常接近自己实现这个结果了!以上是关于遍历 url 端点并将 json 转换为 pandas 数据帧的主要内容,如果未能解决你的问题,请参考以下文章
循环遍历数组,并将子JSON转换为observablearray?
从 URL 获取 JSON 数组并将其转换为 Android 中的 HashMap
“尝试调用控制器端点时无法将JSON值转换为System.String”