2016-08-24 58 views
0

任何想法为什么下面的代码不能保留我的csv文件的第一列?我想保留一个新的CSV文件,包括第一列的几列。如果我选择第一列的名称在新文件上。
我得到一个错误:熊猫模块修剪python中的列

“Type”not index。

import pandas as pd 
f = pd.read_csv("1.csv") 
keep_col = ['Type','Pol','Country','User Site Code','PG','Status'] 
new_f = f[keep_col] 
new_f.to_csv("2.csv", index=False) 

非常感谢。

+0

“type”和“Type”是两个不同的东西。你用的是正确的吗? –

+0

您能否提供一些输入数据?原始CSV的前3行(带标题)和“f”数据帧的前3行(带标题)。谢谢! – ragesz

+0

@ user2539738是的,我是。 Type是正确的。谢谢 – Gonzalo

回答

0

尝试f.columns.values.tolist()并检查第一列的输出。这听起来像是在读取CSV时出现编码问题。您可以尝试在pd.read_csv()中指定“编码”选项以查看是否会消除前面的多余字符。否则,您可以使用f.rename(columns={'F48FBFBFType':'Type'}来更改第一列的当前名称,只需简单键入'Type'即可。

0

通过指定要从csv文件中读取的列,您会更好。

pd.read_csv('1.csv', names=keep_col).to_csv("2.csv", index=False) 

在第一列中是否有任何特殊字符?