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

使用Python修改txt文件表格列顺序时输出多余空行如何解决

问题根因

多余空白行是双重换行导致的:

  • 用list(f)读取文本文件时,得到的每一行内容末尾会保留原始文件自带的换行符\n
  • 按空格拆分后,最后一列row[4]本身就携带了原始的换行符
  • 代码中又手动在每行末尾额外拼接了一个\n,最终每行结尾存在两个连续换行符,渲染时就会多出一个空白行

另外原代码存在两个可优化的问题:

  • 初始化table时用[xxx]*len(rows)的写法属于浅拷贝,后续如果修改嵌套元素会出现联动错误
  • 手动按索引给6倍长度的table列表赋值的逻辑过于冗余,可维护性差
修正后的实现方案

不需要预先初始化固定长度的列表,逐行处理后重组列顺序即可,同时自动过滤原始文件中的空行:

# 替换为实际文件路径
input_file = "C:\\path\\to\\input\\file.txt"
output_file = "C:\\path\\to\\output\\file.txt"

with open(input_file, "r") as f:
    # 读取时去掉每行首尾空白,过滤空行
    raw_lines = [line.strip() for line in f if line.strip()]

result = []
for line in raw_lines:
    # 不带参数的split会自动按任意空白字符分割,兼容多空格、制表符场景
    columns = line.split()
    # 调整列顺序:id、x坐标、y坐标、name、value
    new_line = f"{columns[0]} {columns[2]} {columns[3]} {columns[1]} {columns[4]}\n"
    result.append(new_line)

with open(output_file, "w") as o:
    o.writelines(result)
效果说明

运行后输出文件每行只会保留一个换行符,不会出现多余空白行,列顺序符合调整要求,同时还能兼容原始数据中存在的多余空格、空行等异常格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:06:29