pandas read_csv:忽略带有空d的尾随行

2024-10-02 00:39:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从csv文件中读取以下数据:

id;type;start;end
Test;OIS;01/07/2016;01/07/2018
;;;
;;;

但是,pandas read_csv也会尝试读取空行;;;。有没有一种方法可以自动忽略这些空行数据?在

这些行导致了一个问题,因为我将read_csvconverters一起使用,并且转换器中的函数在遇到无效数据时会尽职地抛出异常,这意味着我甚至没有到达有效的数据帧。我可以更改函数,将无效数据转换为NaN,然后从数据帧中删除NaNs,但之后我会悄悄地删除错误数据和那些空行。在

一些澄清:

  • 空数据的行总是在后面,这是Excel生成的csv文件的常见问题。在
  • 数据是用户生成的,因此不能手动清理文件。在

Tags: 文件csv数据方法函数testidpandas
2条回答

如果您知道要忽略最后2行,那么可以传递paramskipfooter=2

In [197]:
t="""id;type;start;end
Test;OIS;01/07/2016;01/07/2018
;;;
;;;"""
df = pd.read_csv(io.StringIO(t), sep=';', skipfooter=2)
df

Out[197]:
     id type       start         end
0  Test  OIS  01/07/2016  01/07/2018

不确定是否可以直接使用read_csv,但可以使用dropna:

import pandas as pd

df= pd.read_csv("in.csv", delimiter=";")
df.dropna(how="all", inplace=True) 
print(df)

相关问题 更多 >

    热门问题