尽管在read_csv()中定义了名称,但仍然是KeyError

时间:2016-03-05 15:53:51

标签: python-3.x pandas dataframe anaconda

我正在尝试打印pandas.dataframe的列。但是,尽管我使用names中的pandas.read_csv()参数明确指定了列名,但这种情况一直都会失败。

给出以下代码:

data = pd.read_csv(filename, sep='\t',
                   names=['Symbol', 'Date', 'Type', 'Value'],
                   index_col=[0])
print(data)

产生这个:

             Date      Type         Value
Symbol                                       
benchmark  2011-12-01       dax  1.422847e+08
benchmark  2011-12-02       dax  1.958363e+08
benchmark  2011-12-05       dax  1.922807e+08
benchmark  2011-12-06       dax  1.477339e+08
benchmark  2011-12-07       dax  1.354372e+08

但是这个:     打印(数据[ '日期'])

产生这个:

KeyError: 'Date'

从我可以告诉我的内容与McKinney在{123}中所描述的完全相同。除了那个错误之外我没有得到任何输出。

数据采用以下格式:

Python for Data Analysis

我错过了什么?

1 个答案:

答案 0 :(得分:0)

确保您的列名称中没有空格

您可以尝试使用sep='\s+'代替:

data = pd.read_csv(filename, sep='\s+',
                   names=['Symbol', 'Date', 'Type', 'Value'],
                   index_col=[0])