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

Python如何从多个TFS文件提取指定行列生成新文件

多TFS文件指定行列提取实现方案

需求描述

现有多个TFS文件,需读取全部文件后,从每个文件中提取指定行与指定列的内容,整合生成新文件。

输入输出样例

单文件内容样例(共3个同结构文件):

x 1 # A
y 2 % B
z 3 * C

最终期望输出:

y 2 B
y1 5 B
y2 8 B

提取规则

  • 提取每个文件中索引为1的行(Python计数从0开始,对应文件的第二行)
  • 从提取到的行中,取索引为0、1、3的列内容
  • 所有文件提取完成后,将结果汇总写入新文件

操作步骤

  1. 先将所有需要处理的TFS文件放到同一个独立文件夹中,避免混入其他无关文件
  2. 复制下方代码到本地.py文件中,修改开头的路径配置为你本地的实际路径
  3. 运行代码即可在指定输出路径拿到生成的结果文件

完整代码

import os

# ========== 配置项:根据自己的实际路径修改 ==========
TFS_DIR = "./tfs_files"       # 存放所有待处理TFS文件的文件夹路径
OUTPUT_PATH = "./result.txt"  # 最终结果文件的保存路径
TARGET_ROW = 1                # 需要提取的行索引
TARGET_COLS = [0, 1, 3]       # 需要提取的列索引列表
# ==================================================

result_lines = []

# 遍历文件夹下的所有条目
for filename in os.listdir(TFS_DIR):
    file_path = os.path.join(TFS_DIR, filename)
    # 跳过子文件夹,只处理普通文件
    if not os.path.isfile(file_path):
        continue
    # 逐行读取文件内容,过滤空行
    with open(file_path, "r", encoding="utf-8") as f:
        file_lines = [line.strip() for line in f if line.strip()]
    # 校验文件行数是否足够
    if len(file_lines) <= TARGET_ROW:
        print(f"[警告] 文件 {filename} 行数不足,已跳过")
        continue
    # 拆分目标行为列(按任意空白字符分割,适配空格、制表符分隔的格式)
    row_content = file_lines[TARGET_ROW].split()
    # 校验列数是否足够
    extracted = []
    valid = True
    for col_idx in TARGET_COLS:
        if len(row_content) <= col_idx:
            print(f"[警告] 文件 {filename} 目标行列数不足,已跳过")
            valid = False
            break
        extracted.append(row_content[col_idx])
    if valid:
        result_lines.append(" ".join(extracted))

# 写入结果文件
with open(OUTPUT_PATH, "w", encoding="utf-8") as f:
    f.write("\n".join(result_lines))

print(f"处理完成,结果已保存至:{OUTPUT_PATH}")

补充说明

  • 代码默认按UTF-8编码读取文件,如果你的TFS文件是其他编码,修改open函数里的encoding参数即可
  • 遇到格式不符合要求、行列数不足的文件,代码会打印警告信息后自动跳过,不会中断运行
  • 如果后续需要调整提取的行、列位置,直接修改开头配置项里的数值即可,不用改动核心逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 13:15:41