【发布时间】:2021-12-27 22:30:53
【问题描述】:
我似乎已经用尽了互联网搜索感觉很常见的事情,我需要一些帮助。
我正在使用 requests 库进行 API 调用,每次调用返回一个 JSON 响应 - 我将循环并进行多次调用。
我想将来自许多 API 调用的所有响应组合到一个 python 数据结构中,然后将结果导出到 CSV。
一个 API 响应如下所示:
{
"status": "1",
"msg": "Success",
"data": {
"id": "12345",
"PriceDetail": [
{
"item": "Apple",
"amount": "10",
"weight": "225",
"price": "92",
"bestbeforeendeate": "30/09/2023"
}
]
}
}
我的最终输出应该是一个 CSV 文件,在随后的行中包含以下标题和数据:
| id | item | amount | weight | price | bestbeforeendeate |
|---|---|---|---|---|---|
| 12345 | apple | 10 | 225 | 92 | 30/09/2023 |
| ..... | ..... | .. | ... | .. | .......... |
我已经查看了将响应组合到字典中,命名为元组,数据框,并尝试了从 dictwriter、csvwriter、normalize 等所述结构中导出的各种选项。不过,我仍在努力使其中的任何一个工作.
我得到的最接近的是(我将结果保存到 JSON 文件以停止访问 API):
with open('item.json') as json_file:
data_set = json.load(json_file)
for data in data_set:
if data['msg'] == 'Success':
id = data['data']['id']
return_data[id] = data['data']['PriceDetail']
df = pd.json_normalize(data['data']['PriceDetail'])
print(df)
我无法将 id 添加到数据框
任何建议将不胜感激。
谢谢,
【问题讨论】:
-
“告诉我如何解决这个编码问题”是off-topic for Stack Overflow。我们希望您发送honest attempt at the solution,发布该尝试,然后询问有关它的具体问题(即解释它为什么不起作用或它有什么问题)。
-
我尝试了几种解决方案;我很高兴在此处发布其中的一些内容或针对新问题发布?
-
我建议发布看起来最有希望的一篇,或者如果它们不太长的话,可以发布几篇。无论如何,请务必指出每个问题的问题。
-
我得到的最接近的是:(我将结果保存到 JSON 文件以停止访问 API)使用 open('item.json') 作为 json_file: data_set = json.load(json_file)对于 data_set 中的数据: if data['msg'] == 'Success': id = data['data']['id'] return_data[id] = data['data']['PriceDetail'] df = pd .json_normalize(data['data']['PriceDetail']) print(df) 我无法将 id 添加到其中
-
请在您的问题中输入信息,尤其是代码。
标签: python json pandas python-requests export-to-csv