如何在 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)
我一直在尝试使用 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)