你能帮我把这个网址的数据导入到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 =真
任何提示都要理解它是如何工作的
感谢
答案 0 :(得分:2)
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())
在我的回答中,我使用的是一直不推荐的小技巧。
第一,
我使用了从URL获取数据的请求,然后使用python eval
函数对其进行评估,因为您可以看到它的嵌套列表。 但是使用{{1>更好的主意}} 强>
r.json()
是一种使用不同方法将数据转换为数据框的方法,例如,您可以使用嵌套列表或类似数据的json(如字典)来创建数据框。
但在大多数情况下,来自网络的结果可能会变成一只使用pandas.DataFrame
的大熊猫Dataframe,它使用pd.read_csv
和sep
来解析数据。
答案 1 :(得分:0)
或者您可以只使用pd.read_json(URL)
import pandas as pd
URL = "http://your.url.com/api"
pd.read_json(URL)