【问题标题】:Python conversion of JSON object to pandas from an API streaming data从 API 流数据将 JSON 对象转换为 pandas 的 Python
【发布时间】:2013-09-12 21:17:08
【问题描述】:

我有一个 Python 函数,在我的经纪人的 API“getCalendar”中定义,它接收新闻公告列表和对市场的预期影响。如何将这个作为 JSON 对象到达的列表转换为 pandas 数据框,以便我可以分析它?

P.S.:API 是与服务器的连接,它首先建立,然后才能从那里流式传输数据,因此无法使用 url 地址并将其转换为 pandas 数据帧。 提前感谢您的帮助。

【问题讨论】:

  • 目前范围太广:您是否能够连接到源并检索数据?
  • 是的,我已经成功连接,并且可以获取 JSON 格式的数据,但我不知道如何转换它,因为如果我尝试将其分配给日历
  • 那么,最好添加到您的问题中...它显示了您已经走了多远,显示了一些示例数据,然后您使用 Pandas 尝试了什么以及出现了什么错误你得到了......那么我们几乎有一个正确的问题......
  • 你能举一个数据(json)的例子,你打算如何转换它(你试过read_json吗?)。 calendar <- getCalender 在我看来也不是有效的 Python(那是 R 吗?)...

标签: python json api pandas


【解决方案1】:

似乎您的 getCalendar 正在向标准输出写入内容,您首先需要将其捕获到字符串变量中。使用此帖子解决方案捕获:Can I redirect the stdout in python into some sort of string buffer? (例如,编写如下使用的 getCalendarStdout() 之类的包装器)

将 json 输出放入变量(比如日历)后,试试这个:

calendar = getCalendarStdout()

import json
import pandas as pd

data=json.loads(calendar)
dafr = pd.DataFrame(data,columns=['col1','col2'])

在这里,我们尝试仅将 json 输出中的某些字段获取到 dafr DataFrame 中。如果您可以粘贴日历 json 数据(其中的一部分),人们可以帮助您获得所需的数据框。

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 2021-12-21
    • 2014-04-15
    • 2011-09-28
    • 1970-01-01
    相关资源
    最近更新 更多