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

Python中带嵌套引号的CSV转TSV输出不符合预期如何解决

Python CSV转TSV嵌套引号异常处理方案

根因说明

默认使用的csv.writer采用csv.QUOTE_MINIMAL引用策略,当字段内包含分隔符、双引号等特殊字符时,会自动为字段添加外层双引号,同时将字段内部的双引号转义为连续两个双引号,最终导致输出出现多余的引号。

实现代码

该方案基于CPython标准库的C优化版csv模块实现,逐行读写内存占用极低,性能为纯Python实现的顶级水平:

import csv
import sys

def csv_to_tsv():
    # 配置CSV读取参数,自动把连续双引号解析为单个双引号
    reader = csv.reader(
        sys.stdin,
        delimiter=',',
        quotechar='"',
        doublequote=True
    )
    # 配置TSV写入参数,禁用自动加引号逻辑
    writer = csv.writer(
        sys.stdout,
        dialect='excel-tab',
        quoting=csv.QUOTE_NONE,
        quotechar='',
        escapechar=''
    )
    for row in reader:
        writer.writerow(row)

if __name__ == "__main__":
    csv_to_tsv()

效果验证

使用你提供的示例输入运行上述代码,输出完全匹配你给出的预期结果:

AAA	BBB	Test, "Test"	CCC	DDD
111	222, "333"	XXX	YYY, ZZZ 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:42:01