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

如何用Python将Tab替换为指定数量空格适配第三方固定空格分隔读取程序

解决方法

核心逻辑

  • 预先按顺序定义每个字段后需要追加的空格数列表
  • 逐行读取原文件,按Tab分割得到所有字段
  • 按字段顺序拼接字段+对应数量的空格,最后一个字段后不加空格,写入新文件

可直接使用的Python脚本

# 按顺序填写每个字段后对应的空格数,字段1后填第1位,字段2后填第2位,以此类推
gap_space_rule = [6, 2, 1, 2]
# 替换为你的原始文件路径
input_file = "./source.txt"
# 替换为转换后文件的保存路径,不会修改原始文件
output_file = "./processed.txt"
# 若文件为其他编码(如gbk),修改下方encoding参数即可
file_encoding = "utf-8"

with open(input_file, "r", encoding=file_encoding) as f_in, open(output_file, "w", encoding=file_encoding) as f_out:
    for raw_line in f_in:
        # 若需要保留行首尾原始空格,删除.strip()即可
        fields = raw_line.strip().split("\t")
        processed_line = ""
        for i, field in enumerate(fields):
            processed_line += field
            # 最后一个字段后不需要补空格
            if i < len(fields) - 1:
                # 超出规则长度的分隔符默认补1个空格,可自行修改默认值
                space_count = gap_space_rule[i] if i < len(gap_space_rule) else 1
                processed_line += " " * space_count
        f_out.write(f"{processed_line}\n")

注意事项

  • 操作前建议备份原始文件,避免误操作丢失数据
  • 如果字段数量更多,直接在gap_space_rule列表中按顺序补充对应位置的空格数即可
  • 若转换后出现乱码,修改file_encoding参数为你的文件实际编码(常见为gbk、gb2312等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:06:03