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

Python读取txt/csv文件时交换指定列位置并保存的实现方法

CSV/TXT文件列互换实现方法

问题说明

处理每行格式为字符型值, 整数型值, 字符型值的csv/txt文件时,需要将第2列与第3列互换,输出格式为字符型值, 字符型值, 整数型值的新文件。

原尝试代码未生效的核心原因:直接读取到的line是完整字符串,并非按逗号拆分后的字段列表,直接通过下标操作的是字符串的单个字符,无法实现整列互换。

可运行实现代码

仅控制台输出调整后内容

with open('源文件路径.txt', 'r', encoding='utf-8') as f:
    for line in f:
        # 去除换行符后按逗号拆分字段
        fields = line.rstrip('\n').split(',')
        # 交换第2、第3列(下标从0开始,对应索引1和2)
        fields[1], fields[2] = fields[2], fields[1]
        # 拼接为字符串输出
        print(','.join(fields))

直接保存为新文件

如果需要直接生成调整后的新文件,可使用以下写法:

with open('源文件路径.txt', 'r', encoding='utf-8') as f_in, open('输出文件路径.txt', 'w', encoding='utf-8') as f_out:
    for line in f_in:
        fields = line.rstrip('\n').split(',')
        fields[1], fields[2] = fields[2], fields[1]
        # 写入新文件时补回换行符
        f_out.write(','.join(fields) + '\n')

代码说明

  • 用with上下文管理器操作文件,无需手动调用close方法,会自动处理文件关闭,避免资源泄漏
  • 先通过split(',')将每行字符串拆分为字段列表,再执行列交换操作
  • 交换完成后通过join方法重新拼接为字符串输出或写入文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:27:01