pandas读取Excel判断指定列是否有空值

一、简介

有时我们用pandas读取Excel去获取某列或者某几列的值,并对该列的值进行处理时,一般都会先判断该列是否有空值,若有空值对其进行处理后再让程序往下走,否则不做判断可能程序会报错,比如用正则表达式去匹配该列的所有单元格的值,这时若某个单元格为空值则会报错。

二、思路

我们可以将空值找出,并做判断,若不为空再进行匹配;
正常情况pandas读取的空值都会显示NaN,若我们用df[i] == np.nan 去判断则显示为False,i这里代表索引。达不到我们想要的目的,建议用df.isnull()进行判断。

三、方法

例如:
在这里插入图片描述

这里我们知道第二行为空值,于是

import pandas as pd
import numpy as np


df = pd.read_excel('demo001.xlsx')['信息内容']
print(df)
print('*'*50)
if df[1] == np.nan:
    print(df[1])
else:
    print('不能用np.nan直接判断')

#返回结果
0     你好,csdn博客
1           NaN
2      123456我们
3    helloworld
4    python读取数据
Name: 信息内容, dtype: object
*****************************************************
不能用np.nan直接判断

修改后的代码

import pandas as pd
import numpy as np


df = pd.read_excel('demo001.xlsx')['信息内容']
print(df)
print('*'*50)

if df.isnull().any():            #判断该列是否有空值,若有这返回True
    print(df[pd.isnull(df)])     #若该列某个单元格为空值,则打印该单元格的信息

#返回结果
0     你好,csdn博客
1           NaN
2      123456我们
3    helloworld
4    python读取数据
Name: 信息内容, dtype: object
*******************************************************
1    NaN
Name: 信息内容, dtype: object

注意: df.isnull.any() 判断dataframe中所有的列是否有空值,若有则该列返回True,没有则该列返回False。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值