代码之家  ›  专栏  ›  技术社区  ›  user3263034

python-将数据从url导入熊猫

  •  -2
  • user3263034  · 技术社区  · 7 年前

    你能帮我把来自这个url的数据导入熊猫数据框吗?是共同基金的时间序列,我需要做一些统计分析和绘图。

    http://tools.morningstar.it/api/rest.svc/timeseries_price/jbyiq3rhyf?currencyId=EURtype=Morningstar&frequency=daily&startDate=2008-04-01&priceType=&outputType=COMPACTJSON&id=F00000YU62]2]0]FOITA $$全部(&A);applyTrackRecordExtension=真

    任何提示都有助于理解其工作原理

    谢谢

    2 回复  |  直到 7 年前
        1
  •  2
  •   Mehdi    7 年前

    获取结果的答案:

    import requests
    import pandas as pd
    URL ='http://tools.morningstar.it/api/rest.svc/timeseries_price/jbyiq3rhyf?currencyId=EURtype=Morningstar&frequency=daily&startDate=2008-04-01&priceType=&outputType=COMPACTJSON&id=F00000YU62]2]0]FOITA$$ALL&applyTrackRecordExtension=true'
    r = requests.get(URL)
    # a= eval(r.content) Never user eval for online texts
    df = pd.DataFrame(r.json())
    

    回答以了解发生了什么

    在我的回答中,我使用了一个并非总是被推荐的小技巧。 第一 我使用request从URL获取数据,然后使用python对其进行评估 eval 函数,如您所见,它是一个嵌套列表。 但这是一个更好的使用方法 r.json()

    pandas.DataFrame 是一种使用不同方法将数据转换为数据帧的方法,例如,可以使用嵌套列表或类似json的数据(如字典)创建数据帧。

    但在大多数情况下,来自web的结果可以使用 pd.read_csv 它使用 sep lineterminator

        2
  •  0
  •   Maviles    5 年前

    或者你可以直接使用pd。read\u json(URL)

    import pandas as pd
    URL = "http://your.url.com/api"
    pd.read_json(URL)