我正在从csv文件导入数据框,但是无法按名称访问其中的某些列。这是怎么回事?

具体来说:

> import pandas

> jobNames = pandas.read_csv("job_names.csv")
> print(jobNames)

   job_id   job_name   num_judgements
0  933985        Foo              180
1  933130        Moo              175
2  933123        Goo              150
3  933094       Flue              120
4  933088        Tru              120

当我尝试访问第二列时,出现错误:
> jobNames.job_name



奇怪的是,我可以这样访问job_id列:
> print(jobNames.job_id)

0    933985
1    933130
2    933123
3    933094
4    933088
Name: job_id, dtype: int64

编辑(将接受的答案放在上下文中):

事实证明,csv文件的第一行(具有列名)如下所示:
job_id, job_name, num_judgements

注意每个逗号后的空格!这些空格保留在列名称中:
> jobNames.columns[1]

' job_name'

不会形成有效的python标识符,因此这些列不能用作数据框属性。我仍然可以使用dict样式:
> jobNames[' job_name']

最佳答案

使用 pandas.read_csv 时,请在skipinitialspace=True标志中传递以删除CSV分隔符后的空格。

10-06 08:42