首页 > 解决方案 > python - 将数据从 url 导入到 pandas

问题描述

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

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

任何提示都可以理解它是如何工作的

谢谢

标签: pythonpandasurldataframeimport

解决方案


得到结果的答案:

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 获取数据,然后使用 pythoneval函数对其进行评估,您可以看到它是一个嵌套列表。 但使用它是一个更好的主意r.json()

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

但在大多数情况下,来自网络的结果可以变成一个 pandas 数据框,使用 pd.read_csv它来解析数据seplineterminator


推荐阅读