如何制作pandas#read_csv会在某些列丢失时引发异常

时间:2016-07-06 02:08:12

标签: python pandas

如下所示,text的最后一行有一个错过的列。我希望read_csv引发异常,而不是返回DataFrame NaN值。这可能吗?

如果len(row.split(sep)) < len(columns),则错过列的行。

In [1]: import pandas as pd

In [2]: from io import StringIO

In [3]: text = """x,y,z
   ...: 1,2,3
   ...: 4,5,6
   ...: 7,8"""

In [4]: df = pd.read_csv(StringIO(text))

In [5]: df
Out[5]: 
   x  y   z
0  1  2   3
1  4  5   6
2  7  8 NaN

1 个答案:

答案 0 :(得分:1)

根据docsread_csv函数可以轻松地让df.isnull().values.any()函数执行您所要求的操作。

但是,您可以使用True。如果NaN中存在df,则该语句将评估为False,否则if df.isnull().values.any(): raise ValueError("Found a NaN") 将完成您的任务。因此,在您阅读csv之后,您可以立即写下:

dataSet.axisDependency = .Right

HTH。