为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 从具有不同级别的嵌套列表和字典的 json 中提取数据

使用 Python 从具有不同级别的嵌套列表和字典的 json 中提取数据

30秒到达战场 2023-06-27 18:11:40
我有以下 API 可以从中提取数据: https://www.business- humanrights.org/en/api/internal/explore/?format=json&search=nike我已经使用 json 提取了 API 结果(见下文),但 API 的结构似乎相当复杂,我不明白如何提取与我相关的信息并将其存储到 pandas 数据框中。我感兴趣的信息是以下键的值“translated_title” “回溯日期” “translated_abstract” “translated_url”r = requests.get("https://www.business-humanrights.org/en/api/internal/explore/?format=json&search=nike")    rjson = r.json()    users_locs = [webPage for webPage in rjson['results']]    users_locs更一般地说,如果我能指出如何从字典中的列表中的列表中提取数据的逻辑,等等,那就太好了。我的预期输出是新闻级别的数据集,其中我为每一行报告翻译后的标题、翻译后的摘要和回溯日期。请参见以下结构:df = pd.DataFrame([{"translated_title" : "Chine : La pression augmente contre Nike, Apple et d’autres à mesure que le boycott lié aux allégations de travail forcé s’intensifie", "translated_abstract":'..', "backdate": "2020-07-24"}, {"translated_title" : "..",  "translated_abstract":'..', "backdate": ".."}])谢谢!
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

尝试这个


keys = ["translated_title", "backdate", "translated_abstract", "translated_url"]


res = [{k: x[k] for k in keys if k in x} for x in users_locs]

df = pd.DataFrame(res)


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信