首页 > 解决方案 > 在线下载 CSV 并转换为 Pandas DF

问题描述

我有一个要在线下载的 CSV 文件。我正在尝试将其放入 Pandas DataFrame 中。来源是联邦储备银行并使用通货膨胀数据(CPI)。我缺少一些东西来完成这项工作。

这是下载的网址:

s_url = https://fred.stlouisfed.org/graph/fredgraph.csv?cosd=1990-01-01&coed=2040-01-01&id=CPIAUCSL

我正在使用该 URL 并阅读它:

response = urlopen(s_url).read()

这给了我一些看起来像这样的东西:

b'DATE,CPIAUCSL\n1990-01-01,127.5\n1990-02-01,128.0\n1990-03-01,128.6\n1990-04-01,128.9\n1990-05-01,129.1\n1990-06-01,129.9\n1990-07-01,130.5\n1990-08-01,131.6\n1990-09-01,132.5\n1990-10-01,133.4\n1990-11-01,133.7\n1990-12-01,134.2\n1991-01-01,134.7\n1991-02-01,134.8\n1991-03-01,134.8\n1991-04-01,135.1\n1991-05-01,135.6\n1991-06-01,136.0\n'

然后我试图接受该响应并将其读入 Pandas:

df = pd.read_csv(response)

那是行不通的。我在此过程中缺少哪些步骤?

标签: pythonpandascsv

解决方案


似乎直接使用 url 作为 df 参数有效。你试过了吗?

import pandas as pd 
s_url = 'https://fred.stlouisfed.org/graph/fredgraph.csv?cosd=1990-01-01&coed=2040-01-01&id=CPIAUCSL' 
df = pd.read_csv(s_url)

推荐阅读