在pandas中引用CSV列

时间:2015-05-07 10:08:45

标签: python csv pandas

比方说,我有一个像这样的csv文件:

first_name last_name age
Dave wilson 24
... ... ...

当我尝试引用该列以获取年龄列表时,我收到错误。

df = read_csv('people.csv')
print df['age']

错误:

KeyError: 'age'

我也尝试按列号引用它。

2 个答案:

答案 0 :(得分:1)

您需要将分隔符指定为read_csv的参数,默认为逗号,此处我使用\s+表示多个空格:

In [234]:

t="""first_name last_name age
Dave wilson 24"""
​
df = pd.read_csv(io.StringIO(t), sep='\s+')
df['age']
Out[234]:
0    24
Name: age, dtype: int64

你做了什么导致了这个:

In [236]:

df = pd.read_csv(io.StringIO(t))
df.columns
Out[236]:
Index(['first_name last_name age'], dtype='object')

因此它将您的标题视为单列

答案 1 :(得分:0)

我认为在阅读时你应该将分隔符指定为<​​/ p>

df = read_csv('people.csv', delimiter='\t')