Python - 如果单元格为空,则打印错误消息

时间:2017-05-01 17:42:55

标签: python pandas

我必须从Excel调用python脚本,我需要检查数据是否干净。

我将从excel文件中获取数据帧。一个不可接受的情况是在df中的一个特定列中有一个空值。

我想打印一条错误消息,并在该列中为空值时退出脚本。

类似的东西:

if df['columnX'] is empty
    print "error message"
    sys.exit()

不确定什么是处理它的有效方法

1 个答案:

答案 0 :(得分:3)

您可以使用isnull检查所有值是否为NaN - 输出为布尔值掩码 - TrueFalse值。

如果需要检查所有值是True还是all,如果需要检查是否至少有一个True,则需要any

输出为标量TrueFalse

if df['columnX'].isnull().all():
    print "error message"
    sys.exit()

样品:

df = pd.DataFrame({'columnX':[np.nan] * 3})
print (df)
   columnX
0      NaN
1      NaN
2      NaN

print (df['columnX'].isnull())
0    True
1    True
2    True
Name: columnX, dtype: bool

print (df['columnX'].isnull().all())
True

print (df['columnX'].isnull().any())
True

if df['columnX'].isnull().all():
    print "error message"
    sys.exit()
df = pd.DataFrame({'columnX':[np.nan] * 3 + [5.6]})
print (df)
   columnX
0      NaN
1      NaN
2      NaN
3      5.6

print (df['columnX'].isnull())
0     True
1     True
2     True
3    False
Name: columnX, dtype: bool

print (df['columnX'].isnull().all())
False

print (df['columnX'].isnull().any())
True