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

Python中如何将竖线分隔的TXT数据拆分写入CSV不同单元格

修正后的代码及修改说明

原代码问题梳理

  • 导入模块大小写错误:Python内置csv模块名是小写,import CSV会触发导入报错
  • 全量拼接行内容错误:将所有行拼接为一个字符串后写入,会把整个文件内容塞进同一个CSV单元格
  • 直接替换分隔符逻辑错误:金额字段本身包含逗号,直接把|替换为逗号会导致字段错位拆分
  • 未逐行拆分字段写入:没有按行拆分字段后调用csv writer写入,格式完全不符合要求

修正后的可运行代码

import csv

# 定义输出CSV文件
with open('new11.csv', 'w', encoding='utf-8', newline='') as csv_f:
    writer = csv.writer(csv_f)
    # 写入自定义表头
    header = ['Fund Name','Category','Inception Date',"July 2021(Rupees in '000)"]
    writer.writerow(header)

    # 读取TXT文件逐行处理
    with open('combined_vps_data.txt', encoding='utf-8') as txt_f:
        # 跳过原TXT自带的表头,避免重复写入,不需要跳可以删除这行
        next(txt_f)
        for line in txt_f:
            # 去除每行首尾的换行、空白字符
            line = line.strip()
            # 跳过空行
            if not line:
                continue
            # 按|分割得到4个字段
            fields = line.split('|')
            # 写入CSV,csv模块会自动转义字段内的逗号,不会出现错位
            writer.writerow(fields)

效果说明

运行后生成的CSV每个字段对应单独单元格,金额内自带的逗号会被csv模块自动加引号包裹,不会出现拆分错位的问题,空字段也会保留对应的空单元格,完全符合4列的格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:09:03