如何在 Python 中读取数组长度不平衡的 Json 数据

How to read Json data with unbalanced array length in Python

我一直在尝试使用 Python 从 API 中获取 Json 数据,以便我可以将该数据传输到 sqlite3 数据库。问题是数据不平衡。我的最终目标是将此 json 数据传输到 sqlite3 中的 .db 文件。 这是我所做的:

import pandas as pd
url = "https://baseballsavant.mlb.com/gf?game_pk=635886"
df = pd.read_json(url)
print(df)

这是我遇到的错误:

raise ValueError("All arrays must be of the same length")
ValueError: All arrays must be of the same length

您希望最终的 DataFrame 看起来像什么并不明显,但在这种情况下附加“orient='index'”可以避免问题。

import pandas as pd
url = "https://baseballsavant.mlb.com/gf?game_pk=635886"
df = pd.read_json(url, orient='index')
print(df)

您还可以请求数据,例如,请求模块并在将其加载到 DataFrame 之前进行准备

import requests
url = "https://baseballsavant.mlb.com/gf?game_pk=635886"
response = requests.get(url)

data = response.json()

"""
Do data transformations here
"""

df = pd.DataFrame.from_dict(data)