我有几个用pandas处理的csv文件。我想删除超过3列的行。
我该怎样进行?
谢谢
EDIT1
id ocr raw_value
4a82a357-99e7-49e6-85b6-b2f6a27b8d5f OMNIPAGE Terms em
8b549fef-0cda-4af5-8239-35153c33ffbc OMNIPAGE price
52ffe66a-b1ab-4b22-9b26-c298d53c951c OMNIPAGE Renseignements
507a0d96-9481-4b3f-8c35-f16588bedc0b OMNIPAGE pour
52e171dc-8d22-4162-b748-692b2fc11659 OMNIPAGE Client
c40a7e9f-1ec4-4cac-87e8-02ed0f335fe9 OMNIPAGE 5 client
4a936ed7-c082-4f46-9fa1-761a1525e2df OMNIPAGE SAS
4b78130e-b099-400c-b7bf-6470e0519783 OMNIPAGE des
4d5c6297-1c79-42f9-b4ea-929a9abfb3f7 OMNIPAGE 431
829d8bf5-b251-4bb1-82d8-0e912ab64e8e OMNIPAGE 59 102
5ed5b74d-efc5-49fa-9b12-dbe3ca88995f OMNIPAGE votre votre
58d26125-1120-4328-83c4-7f5b0135184d OMNIPAGE Crécy, Crécy,
在此示例中:要删除的第一行和第六行,他们有额外的列 em ,客户端
答案 0 :(得分:2)
如果可能,则错误仅为额外列。然后在pd.read_csv中传递此内容。
error_bad_lines=False
error_bad_lines:boolean,default True包含太多字段的行 (例如,逗号太多的csv行)默认会导致 要引发的异常,并且不会返回任何DataFrame。如果为假, 然后这些“坏线”将从DataFrame中删除 回。 (仅对C解析器有效)
答案 1 :(得分:0)
CSV文件应该具有固定数量的列。 Pandas不是CSV格式验证器(即使它能够处理一些错误)。 如果您的CSV格式不正确(在您的情况下,每列中的行数可变),您应该在将其提供给Pandas之前对其进行预验证。
例如:https://pypi.python.org/pypi/csvvalidator
或者自己做的代码相当简单。