我正在尝试将从 API 调用返回的 json 转换为 Pandas 数据帧。理想情况下,我只想提取“类型”、“名称”和“供应”。
我尝试了多种方法,例如flatten()
,json_normalize()
等等,但无法使其正常工作。
def get_cryptocompare_data():
url = "https://min-api.cryptocompare.com/data/top/mktcapfull?limit=15&tsym=USD"
data = requests.get(url)
d = data.json()
我想将其转换为 Pandas 数据框,其中包含“Type”、“Name”、“SUPPLY”的列。
for
在处理像这样的大量嵌套 JSON 时,我更喜欢旧方式(循环),因为它很容易理解。
import pandas as pd
records = []
for item in d["Data"]:
records.append(
{
"Type": item["CoinInfo"]["Type"],
"Name": item["CoinInfo"]["Name"],
"SUPPLY": item["RAW"]["USD"]["SUPPLY"],
}
)
df = pd.DataFrame.from_records(records)
df.head()
我没有将 the 设置Type
为索引,因为我不确定为什么要Type
作为索引,因为它只有 1 个值。如果您需要设置Type
为索引,只需添加df.set_index("Type", inplace=True)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句