删除空白行,报错 raise KeyError(list(np.compress(check, subset))) KeyError: ['姓名']
之前这段程序跑完后没报错,经调试发现到这一句报错
> df.dropna(subset=['姓名'],inplace=True)
意思是删除‘姓名’列 含有‘NAN’的行
思考第一步:应该是
dropna函数没使用明白,参数汇总如下
axis: default 0指行 默认为行 ,1为列
how: {‘any’, ‘all’}, default ‘any’指带缺失值的所有行;'all’指清除全是缺失值的
thresh: int,保留含有int个非空值的行
subset: 对特定的列进行缺失值删除处理
inplace: 这个很常见,True表示直接在原数据上更改
思考第2部,查看生成的excel表 发现【】列名之前有表格名称,定位不到姓名列
![](https://img2022.cnblogs.com/blog/595992/202205/595992-20220526100130433-353276048.png)
所以将表头内容清除,有类似问题的可以看看是否excel表格标题列名取不到导致的
思考第3部 ,上面的代码有问题
df = xl.parse(xl.sheet_names[-1])
源代码写的是1,实际运行过程中应该是excel表最后一个,所以将1改为【-1】