如果行数与标题数不匹配,则在read_csv中引发错误

2024-05-13 09:04:43 发布

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

我有大量的csv文件,我试图确定文件中的记录是否与预定义的模式一致。例如,给定一个csv:

col1,co2,col3,col4,col5,col6
A,B,,C,D,E
M,N,O,,,
U,V,W,

第一行是一致的,因为它的条目数与标题相同(即使缺少值)。第二行也是一致的,因为它的条目数与标题相同,但第三行不一致,因为它只有3个条目

我正在pandas.read_csv中寻找一种方法来引发第3行的错误,但是现在,当我在pandas中读取文件时,它会读取第3行中丢失值的所有带有NA的行。我试过玩error_bad_linesna_filter,但这并不能解决我的问题。 你知道我该怎么处理这个问题吗?我不想迭代csv中的每一行,因为有些文件相当大,每个文件需要几分钟,这对我来说是行不通的


Tags: 文件csv方法标题pandasread记录模式
1条回答
网友
1楼 · 发布于 2024-05-13 09:04:43

error_bad_lines将确保没有额外的列。至于缺少的列,不幸的是,如果不遍历数据,就无法检查这些列。您可以使用assert(not df.isnull().values.any())来实现这一点

相关问题 更多 >