我在Pandasv0.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位,并将跳过的代码放回里面,那么效果也很好。
这是否是一个bug (您不能同时使用usecols和skiprows )?我试过查看文档,但没有找到任何提及它的地方。或者,也许有一个逻辑上的原因,你不能同时使用?
(此外,如果有更好/更明显的方法从csv中选择列和行的子集,这也是值得赞赏的!)
提前感谢!
发布于 2016-10-27 10:03:18
如果csv文件的第一行包含列名,那么skiprows=1将忽略具有列名的行,您将遇到错误。
如果您想跳过特定的行,可以使用例如skiprows=[1]将行号作为列表提供。行号是0索引的,因此列名在第0行,第一行数据行是第1行。
https://stackoverflow.com/questions/40279798
复制相似问题