同时使用usecols和skiprows(在Pandas read_csv中)会出错

时间:2016-10-27 08:31:43

标签: python pandas dataframe

我在Pandas v0.18.1中使用read_csv读取一些数据。我想从csv中选择列和行的子集,所以我尝试过:

df_a = pd.read_csv(filepath, index_col = False, usecols=cols_to_use, skiprows=1)

这给了我一个 ValueError:Usecols与名称不匹配。 请注意,cols_to_use是列名列表,但是如果我省略了skiprows部分:

df_a = pd.read_csv(filepath, index_col = False, usecols=cols_to_use)

它工作得很好,同样如果我省略了usecols位并重新插入,也可以。但/ p>

这可能是一个错误(你不能同时使用usecols和skiprows)吗?我试过查看文档,但无法找到它。或者可能有一个合乎逻辑的原因,你不能同时使用它们?

(同样,如果有更好/更明显的方法从csv中挑选出一些列和行的子集,也会受到赞赏!)

提前致谢!

1 个答案:

答案 0 :(得分:2)

如果csv文件的第一行包含列名,那么skiprows=1将忽略具有列名的行,并且您将遇到错误。

如果您想跳过特定行,可以使用例如行列号作为列表提供行号。 skiprows=[1]。行号为0索引,因此列名称在第0行,第一个数据行为数字。