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

如何将CSV字段的三重引号改为单引号并导出新CSV

解决CSV三重引号转单引号(双引号)包裹的问题

直接上可行方案,分两步处理:

第一步:读取时清理三重引号

读取CSV文件时,先把每个字段前后的三重引号(""")彻底清除,得到纯内容的DataFrame:

import pandas as pd

# 先获取所有列名,避免重复读取全量数据
cols = pd.read_csv("input.csv", nrows=0).columns
# 用转换器清除每个字段的三重引号
df = pd.read_csv(
    "input.csv",
    converters={col: lambda x: x.strip('"""') for col in cols}
)

这一步之后,DataFrame里的每个值都是不带任何多余引号的纯内容,比如原数据里的"""1"""会变成1,邮箱会变成纯字符串格式。

第二步:导出时强制添加双引号包裹

导出CSV时,指定用双引号包裹所有字段,避免pandas自动生成多余引号:

import csv

df.to_csv(
    "output.csv",
    index=False,
    quotechar='"',
    quoting=csv.QUOTE_ALL,
    escapechar='\\'  # 防止字段内自带引号时出现转义异常
)

这里的quoting=csv.QUOTE_ALL会强制给每个字段加上quotechar指定的双引号,正好符合你要的"1"、"junglehouse1@yahoo.com"格式。

之前尝试失败的原因

直接用read_csv读取时,pandas会把"""1"""解析为带双引号的字符串(即"1"),但导出时如果没设置quoting=csv.QUOTE_ALL,pandas只会给包含特殊字符的字段加引号;而且如果字段本身已经带引号,pandas会自动转义成三重引号,这就是你导出后仍看到三重引号的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 09:27:06