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

Python中处理含逗号的CSV字段,避免列拆分并格式化输出

解决CSV字段含逗号导致格式拆分的问题

核心思路

先读取原始CSV并处理名称字段:清理多余引号、将逗号替换为空格,再用标准CSV写入工具输出,就能避免列被错误拆分。

完整代码实现

import csv

# 1. 读取并处理原始数据
processed_rows = []
with open("input.csv", "r", encoding="utf-8") as in_file:
    # 指定单引号为字段包裹符,避免内部逗号被当成分隔符
    reader = csv.reader(in_file, delimiter=",", quotechar="'")
    for row in reader:
        # 提取数字列
        number = row[0]
        # 处理名称列:清理双引号,替换逗号为空格
        raw_name = row[1]
        cleaned_name = raw_name.replace('""', "").replace(",", " ")
        # 收集处理后的行
        processed_rows.append([number, cleaned_name])

# 2. 写入处理后的CSV
with open("output.csv", "w", encoding="utf-8", newline="") as out_file:
    writer = csv.writer(out_file, delimiter=",", lineterminator="\n")
    writer.writerows(processed_rows)

关键步骤说明

  • 读取时的引号处理:通过quotechar="'"告诉CSV阅读器,单引号包裹的内容是一个完整字段,不会把内部的逗号当成列分隔符。
  • 名称字段清理:原始名称是""HO,inc""格式,用replace('""', "")去掉多余双引号,再用replace(",", " ")把逗号换成空格。
  • 写入规范:添加newline=""是Python CSV模块的最佳实践,避免Windows系统下生成的CSV出现多余空行。

处理后输出示例

输出的CSV内容为:

123,HO inc
456,baba the

用竖线分隔展示就是你期望的格式:

123 | HO inc
456 | baba the

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:52:46