我在将一些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命令,有没有明确定义分隔符而没有成功。任何帮助表示赞赏!
答案 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