繁体   English   中英

Python pandas 从嵌套列表中提取数据

[英]Python pandas extract data from nested list

对于个人项目,我从 Google Books API 调用数据并将我想要的字段上传到 mySQL。

我已成功发出 API 请求并收到数据。 收到的数据是嵌套的,我想把它放在 dataframe 中。 现在我的代码适用于“第一”列(无缩进)。 之后的所有数据,我无法在 dataframe 中输入。

API output的一小部分:

    {
  "kind": "books#volumes",
  "totalItems": 1,
  "items": [
    {
      "kind": "books#volume",
      "id": "vH_vwQEACAAJ",
      "etag": "Gzpw8EnKpVY",
      "selfLink": "https://www.googleapis.com/books/v1/volumes/vH_vwQEACAAJ",
      "volumeInfo": {
        "title": "Crash course programmeren in Python",
        "subtitle": "projectgericht leren programmeren",

波纹管是我的 python 代码:

import requests
import pandas as pd
import json

request_string = "https://www.googleapis.com/books/v1/volumes?q=isbn:9789059056749&key=###KEY###"
response = requests.get(request_string).text
response_json = json.loads(response)
response_json_normalized = pd.json_normalize(response_json)

author_df = pd.DataFrame(data=response_json_normalized, columns=['title'])
print(author_df)

使用columns=['totalItems']时,值 1 在 Dataframe 中,但使用columns=['title']时,它显示NaN 例如, id也是如此。

我错过了一些简单的东西吗? 还是我的方法错了?

目标是最终将数据输入到 mySQL DB 中,以便对我拥有的所有书籍进行分类。 感谢您对未来步骤的任何建议!

这对我有用。

import requests
import pandas as pd
import json
from pandas import json_normalize

request_string = "https://www.googleapis.com/books/v1/volumes?q=isbn:9789059056749&key=###KEY###"
response = requests.get(request_string).text
response_json = json.loads(response)
recs = response_json['items']
df = json_normalize(recs)



    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM