Python 错误_bad_line=False不';t删除带有额外列的行
我有一个csv文件,我用熊猫处理。我对以下列进行了说明:Python 错误_bad_line=False不';t删除带有额外列的行,python,pandas,csv,Python,Pandas,Csv,我有一个csv文件,我用熊猫处理。我对以下列进行了说明: df.columns = ["id", "ocr", "raw_value", "manual_raw_value"] 但是,我有一些行超过五列。例如: id ocr raw_value manual_raw_value 2d704f42 OMNIPAGE remuneration rémunération hello bfa6c9f14 OMNIPAG
df.columns = ["id", "ocr", "raw_value", "manual_raw_value"]
但是,我有一些行超过五列。例如:
id ocr raw_value manual_raw_value
2d704f42 OMNIPAGE remuneration rémunération hello
bfa6c9f14 OMNIPAGE 35470 35470
213e1e1e OMNIPAGE Echeance Echéance
为了不读取包含额外列的行(如第一行),我执行了以下操作
但是,保留了具有额外列的行
谢谢你再试一次。为了便于索引,我将重命名列,即使是那些不必要的列:
df.columns = range(0, df.shape[1])
我假设空的地方是NaN,所以有效的行在其他列中会有所有NaN。我没有成功地搜索到特定的函数,所以我会在单个列中进行交互,只保留带有NaN的列,并只选择需要的列:
for i in range(4, df.shape[1]):
df = df[df.iloc[:,i].isnull()]
df = df[[0, 1, 2, 3]]
然后根据需要重命名它们。希望这会有所帮助 谢谢你的回答。目标是删除超过四列的所有行。您的解决方案倾向于采用所有的行,甚至是那些列数大于的行,但不采用第五列抱歉,我误解了您的问题。想帮忙。
for i in range(4, df.shape[1]):
df = df[df.iloc[:,i].isnull()]
df = df[[0, 1, 2, 3]]