我正在尝试访问https://fred.stlouisfed.org/series/FEDFUNDS上的联邦储备银行数据 我可以写什么代码来访问该数据库,然后将其放入字典中?还是我必须先下载文件并将其保存在计算机上?
答案 0 :(得分:1)
答案 1 :(得分:0)
有关如何操作,请参见https://stackoverflow.com/a/32400969/9214517。
假设您允许将数据保留在pandas DataFrame中(如上面的链接所示),这是代码:
import pandas as pd
import requests
import io
url = "https://fred.stlouisfed.org/graph/fredgraph.csv?bgcolor=%23e1e9f0&chart_type=line&drp=0&fo=open%20sans&graph_bgcolor=%23ffffff&height=450&mode=fred&recession_bars=on&txtcolor=%23444444&ts=12&tts=12&width=968&nt=0&thu=0&trc=0&show_legend=yes&show_axis_titles=yes&show_tooltip=yes&id=FEDFUNDS&scale=left&cosd=1954-07-01&coed=2018-10-01&line_color=%234572a7&link_values=false&line_style=solid&mark_type=none&mw=3&lw=2&ost=-99999&oet=99999&mma=0&fml=a&fq=Monthly&fam=avg&fgst=lin&fgsnd=2009-06-01&line_index=1&transformation=lin&vintage_date=2018-11-28&revision_date=2018-11-28&nd=1954-07-01"
s = requests.get(url).content.decode("utf-8")
df = pd.read_csv(io.StringIO(s)
那么您的df
将是:
DATE FEDFUNDS
0 1954-07-01 0.80
1 1954-08-01 1.22
2 1954-09-01 1.06
3 1954-10-01 0.85
4 1954-11-01 0.83
....
如果您坚持使用dict
,请使用它代替上面的最后一行来转换CSV数据s
:
mydict = dict([line.split(",") for line in s.splitlines()])
关键是如何获取URL:单击引用页面上的下载按钮,然后将链接复制到CSV。