我在将某些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命令,并且没有明确定义定界符而没有成功。任何帮助表示赞赏!
python大神给出的解决方案
一种解决方案是传递skipinitialspace
参数,以指定分隔符后的所有空格均应忽略:
pd.read_csv('filename.txt', sep=",", header=1, na_values=["-999"], skipinitialspace=True)
有关所有可能的参数,请参见read_csv
的文档字符串:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html