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

批量处理TSV文件时如何识别并删除缺失标签列的不合格文件

解决方案

核心判断逻辑:正常无缺失的TSV文件跳过#开头的注释行后,每一行由制表符分隔为4列,缺失标签列的文件每行只有3列,只需要在读取文件后先校验DataFrame的列数即可过滤异常文件。

修改后完整代码

import os
import pandas as pd

path = "All_TSV_Files"
files = [file for file in os.listdir(path) if file.endswith(".tsv")]

c=0
for file in files:
    file_path = os.path.join(path, file)
    df = pd.read_csv(file_path, 
                     comment='#', 
                     header=None, 
                     sep='\t',
                     engine='python',
                     error_bad_lines=False)
    # 校验列数:正常文件为4列,缺失标签列只有3列
    if len(df.columns) < 4:
        # 不需要删除源文件可注释下面这行
        os.remove(file_path)
        # 跳过后续处理
        continue
    df.drop(df.columns[[0, 1]], axis=1, inplace=True)
    df.to_csv(os.path.join(path, f'admin{c}.txt'),index=False,header=False)
    c+=1

注意事项

  • 如果你使用的是pandas 1.4及以上版本,可以将参数error_bad_lines=False替换为on_bad_lines='skip',避免出现废弃用法警告
  • 异常文件默认执行删除操作,如果只需要跳过处理不删除源文件,注释掉os.remove(file_path)即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:48:00