You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取CSV中manager_id列为空的行且输出不包含表头

问题原因

你的现有代码存在3处核心错误,导致输出不符合预期:

  • 调用pd.read_csv时添加了header=None参数,会把CSV原有的表头行识别为普通数据行,列名变为默认的0/1/2/3,无法准确定位manager_id列
  • 过滤逻辑df.isnull().any(axis=1)是匹配任意列存在空值的行,并非你需要的仅匹配manager_id列为空的行
  • 直接打印DataFrame会默认输出索引列和表头,就是你看到的开头的异常数字标识
实现方案

方案1:基于pandas实现

import pandas as pd
# 读取CSV,自动识别表头,不额外设置索引
df = pd.read_csv('data.csv')
# 仅筛选manager_id列为空的行
filter_df = df[df['manager_id'].isnull()]
# 转换为CSV格式输出,关闭表头和索引显示
print(filter_df.to_csv(header=False, index=False))

方案2:纯Python原生实现(无需安装第三方库)

import csv

with open('data.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    # 跳过第一行表头
    next(reader)
    for row in reader:
        # manager_id为第三列,下标为2,判断值为空或者为NaN字符串
        if row[2].strip() in ('', 'NaN'):
            print(','.join(row))

内容的提问来源于stack exchange,提问作者learningbtw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:36:02