如何使用Python过滤CSV数据并打印缺失值对应的列表头
图形CSV缺失字段检查实现方案
你之前的代码仅针对width字段做过滤,不符合全字段批量检查的需求,你可以参考以下实现:
核心思路
你提供的CSV结构为:第一列是字段名(width、length、height等),其余每列对应一个图形,列名为图形名,空白单元格即为缺失值。实现时先正确读取CSV设置索引,再逐列遍历每个图形,检查对应字段的空值情况即可。
完整代码
import pandas as pd # 读取CSV,将第一列字段名设为索引,强制将空字符串、空格识别为空值 df = pd.read_csv( 'shapes.csv', index_col=0, na_values=['', ' '] ) # 遍历每个图形列 for shape in df.columns: # 收集当前图形缺失的字段 missing = df.index[df[shape].isna()].tolist() if missing: # 按要求格式输出 print(f"{shape}, {', '.join(missing)}")
效果验证
以你给出的示例数据为例,运行代码后输出结果完全符合要求:
square, length, height rectangle, width
该实现支持任意数量的图形和字段批量处理,40个以上图形也可正常输出。
内容的提问来源于stack exchange,提问作者overlord12
相关产品推荐
相关产品推荐

