我正在处理大量(数千)由其他人生成的~100k行csv文件。10个文件中有9个有8个列,而且一切正常。第10行大约10行将在第6列后面插入2个额外的列:(为了简单起见,假设所有行中的值都相同。)
A,B,C,D,E,F,G,H
A,B,C,D,E,F,G,H
A,B,C,D,E,F,Foo,Bar,G,H
A,B,C,D,E,F,G,H
A,B,C,D,E,F,Foo,Bar,G,H
A,B,C,D,E,F,G,H
A,B,C,D,E,F,G,H
我无法控制数据文件的生成,需要在我的端清理它们,但是我相信有额外列的行已经损坏了数据,所以我现在只想拒绝它们。我想一个简单的方法来处理这个问题,首先将我的数据加载到一个10列的数据帧中:
^{pr2}$然后检查extra1或extra2在哪里为null,保留这些行,然后删除多余的行。在
data_df = data_df[pd.isnull(data_df['extra1']) & pd.isnull(data_df['extra2'])]
del data_df['extra1']
del data_df['extra2']
这似乎有点不太理想。有人知道怎么清理这个吗?在
谢谢
如果您想删除错误的行,可以使用
error_bad_lines=False
(如果您希望它对此保持安静,warn_bad_lines = False
):相关问题 更多 >
编程相关推荐