我在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中挑选出一些列和行的子集,也会受到赞赏!)
提前致谢!
答案 0 :(得分:2)
如果csv文件的第一行包含列名,那么skiprows=1
将忽略具有列名的行,并且您将遇到错误。
如果您想跳过特定行,可以使用例如行列号作为列表提供行号。 skiprows=[1]
。行号为0索引,因此列名称在第0行,第一个数据行为数字。