无法将CSV数据读入Pandas数据帧(Python / Pandas)

时间:2015-05-05 17:18:49

标签: python csv pandas

我在将一些csv数据读入pandas数据框时遇到了一些麻烦。这是我的数据:

C1,            C2,              C3,              C4,            C5,  
5.0010254,     12,            0.37,          1.2672,        2039.5,
5.0499756,     12,            0.37,          1.2672,        2039.5,
5.1000244,     12,            0.37,          1.2672,        2039.5,
5.1500122,     12,            0.37,          1.2672,        2039.5,
5.2,           12,            0.37,          1.2672,        2039.5,
5.2499878,     12,            0.37,          1.2672,        2039.5,
5.2999756,     12,            0.37,          1.2672,        2039.5,
5.3500244,     12,            0.37,          1.2672,        2039.5,
5.4000122,     12,            0.37,          1.2672,        2039.5,
5.45,          12,            0.37,          1.2672,        2039.5,
5.4999878,     12,            0.37,          1.2672,        2039.5,

如您所见,数据以逗号分隔,但在逗号后面还有很多空格。我不知道这是不是什么给我带来麻烦,但如果我说:

infl = pd.read_csv('filename.txt', sep=",", header=1, na_values=["-999"])
print infl['C2']

我收到错误:

KeyError: 'C2'

我尝试了read_csv命令,有没有明确定义分隔符而没有成功。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:5)

一种解决方案是传递skipinitialspace参数,以指定应忽略分隔符后面的所有空格:

pd.read_csv('filename.txt', sep=",", header=1, na_values=["-999"], skipinitialspace=True)

请参阅read_csv的docstring了解所有可能的参数:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html