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

如何使用Python批量删除文件夹内所有.TXT/.XY文件的前N行表头

批量移除.XY文件表头Python实现方案

方案1:生成新文件(推荐,无数据损坏风险)

该方案会生成带_processed后缀的新文件,原文件保留不变,处理后格式和原文件完全一致。

import os

# 配置参数
folder_path = "./"  # 替换为你的.XY文件所在文件夹路径,./代表当前py文件所在文件夹
skip_rows = 23  # 需要跳过的表头行数

# 遍历文件夹下所有文件
for filename in os.listdir(folder_path):
    # 只处理.XY后缀的文件
    if filename.endswith(".XY"):
        file_path = os.path.join(folder_path, filename)
        # 读取原文件所有行
        with open(file_path, 'r', encoding='utf-8') as f:
            lines = f.readlines()
        # 跳过前skip_rows行,保留后面的内容
        processed_lines = lines[skip_rows:]
        # 生成新文件名
        new_filename = f"{os.path.splitext(filename)[0]}_processed.XY"
        new_file_path = os.path.join(folder_path, new_filename)
        # 写入新文件
        with open(new_file_path, 'w', encoding='utf-8') as f:
            f.writelines(processed_lines)
        print(f"已处理:{filename} -> {new_filename}")

方案2:直接修改原文件(请提前备份所有原数据)

该方案直接覆盖原文件,不需要额外存储新文件,适合已经备份好原数据的场景。

import os

# 配置参数
folder_path = "./"  # 替换为你的.XY文件所在文件夹路径
skip_rows = 23  # 需要跳过的表头行数

for filename in os.listdir(folder_path):
    if filename.endswith(".XY"):
        file_path = os.path.join(folder_path, filename)
        with open(file_path, 'r', encoding='utf-8') as f:
            lines = f.readlines()
        # 直接写入原文件,覆盖原有内容
        with open(file_path, 'w', encoding='utf-8') as f:
            f.writelines(lines[skip_rows:])
        print(f"已处理:{filename}")

注意事项

  • 如果你的文件存在小写.xy后缀,将filename.endswith(".XY")改为filename.endswith((".XY", ".xy"))即可同时匹配两种后缀
  • 如果后续表头行数有变化,修改skip_rows的数值即可
  • 代码不会改动有效数据的分隔符、换行格式,处理后文件和原文件格式完全一致
  • 运行时直接把py文件放在.XY文件所在文件夹下,用VS Code的Python 3.7环境运行即可
  • 如果运行时报编码错误,将open函数里的encoding='utf-8'改为encoding='gbk'即可适配中文编码的文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:54:01