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

使用Python修改CSV分隔符为竖线时如何保留数据中的逗号

CSV分隔符替换保留字段内逗号解决方案

问题原因

源CSV文件的逗号分隔符后存在前置空格,默认csv读取器无法正确识别带前导空格的引号包裹字段,会将字段内部的逗号误判为列分隔符,拆分出多余列,导致写入竖线分隔文件时列数错乱。

修复方案

在初始化csv.reader时添加skipinitialspace=True参数即可,该参数会自动忽略分隔符后的所有前置空白字符,让引号包裹的字段可以被正常识别。推荐同步使用with上下文管理器管理文件对象,自动处理文件关闭逻辑,避免资源泄漏。

完整可运行代码

import csv

# 替换为你的输入文件路径
input_file_path = "your_input.csv"

with open(input_file_path, encoding='utf-8') as infile, \
     open('Detail_Test_Piped.csv', 'w', newline='', encoding='utf-8') as outfile:
    # 关键修改:添加skipinitialspace=True参数
    reader = csv.reader(infile, delimiter=',', quotechar='"', skipinitialspace=True)
    writer = csv.writer(outfile, delimiter='|', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    for row in reader:
        writer.writerow(row)

输出验证

运行后得到的结果和预期完全一致:

Record Type|Participant Full Name|Product Title
N|Calvin Harris, The Weekend|Over Now

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:15:03