python - 将 API 中的 JSON 数据解析到 Pandas

标签 python json pandas

我正在尝试从 api ( https://min-api.cryptocompare.com/data/histoday?fsym=BTC&tsym=ETH&limit=30&aggregate=1&e=CCCAGG ) 获取数据到 pandas。 API 以 Json 形式提供数据。

df = pd.read_json('new.json' , orient = 'columns')

错误:将字典与非系列混合可能会导致顺序不明确。

我需要的数据:- 图片链接:http://imgur.com/a/bdLN8

我对此真的很陌生,任何帮助都会很棒。

最佳答案

我认为问题在于您将整个 JSON 传递给 read_json 函数,而您应该只传递存储在 Data 属性中的数据.

<小时/>

如果您以编程方式下载数据,我建议使用请求:

In [422]: import requests

In [416]: data = requests.get('https://min-api.cryptocompare.com/data/histoday?fsym=BTC&tsym=ETH&limit=30&aggregate=1&e=CCCAGG')\
                         .json()['Data']

data 现在是字典,而不是 JSON 字符串。您可以调用 pd.DataFrame.from_dict 函数来解析数据,如下所示:

In [420]: df = pd.DataFrame.from_dict(data)

In [421]: df.head()
Out[421]: 
   close   high    low   open        time  volumefrom   volumeto
0  12.29  11.55  12.73  12.54  1500595200    72064.93  875383.96
1  12.22  11.93  12.61  12.29  1500681600    39624.40  489345.17
2  12.03  11.94  12.37  12.22  1500768000    37270.80  452462.43
3  12.22  11.99  12.36  12.03  1500854400    28582.22  347606.39
4  12.59  12.22  13.03  12.22  1500940800    54004.34  676716.41
<小时/>

如果你坚持使用pd.from_json,那么你必须只传递包含在JSON响应的Data属性中的字符串数据,否则它不会工作。

关于python - 将 API 中的 JSON 数据解析到 Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45787597/

相关文章:

python - 遍历 Python 列表并进行就地更改

python - 如何将树状数据解析为 Python 中的嵌套列表?

python - 错误 openerp.addons.website.models.ir_http : 500 Internal Server Error: after logout from odoo

java - 将 Java POJO 编码为 JSON 所需的最低结构是什么?

python Pandas : How to get multiple subsets of dataframe efficiently based on id column

python - Pandas 中的元素逻辑或

python - 在 python 3.1 中编辑单个 .txt 行

javascript - scrapy中如何解析JSON数据

c# - 如何使用 DataContractSerializer 反序列化具有未命名类型集合的 JSON

python - 仅使用 getvalueofnode(node.find()) 获取 pandas Dataframe 中的第一行