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

如何在Pandas中保留输入文件中的引号输出?

解决Pandas保存CSV时丢失引号的问题

问题原因

Pandas默认会将CSV中的双引号视为字段包裹符,读取时自动剥离外层引号;保存时仅当字段包含分隔符等特殊字符时才会自动添加引号,导致单纯带引号的字段内容丢失引号。

解决方案

通过修改read_csv和to_csv的参数,让Pandas不解析引号,直接保留原始字符:

修改后的代码

import pandas as pd
from io import StringIO
import csv

# Input file
csv_data = '''A,B,C,D,E
234,mno,C22,U,
567,pqr,"C3""",U,5555
999,abc,"C99",D,9999
'''

# 读取数据时关闭引号解析
df = pd.read_csv(
    StringIO(csv_data),
    header=0,
    dtype=str,
    keep_default_na=False,
    engine='python',
    sep=',',
    quoting=csv.QUOTE_NONE  # 关键:不将引号视为CSV特殊语法,保留原始字符
)

# 保存数据时关闭引号处理
df.to_csv(
    'output.txt',
    sep=',',
    index=False,
    header=True,
    quoting=csv.QUOTE_NONE,  # 关键:不自动添加/删除引号,直接输出原始内容
    escapechar=None
)

验证结果

运行后output.txt内容将与期望一致:

A,B,C,D,E
234,mno,C22,U,
567,pqr,"C3""",U,5555
999,abc,"C99",D,9999

补充说明

  • csv.QUOTE_NONE参数强制Pandas在读写过程中,把双引号当作普通字符串处理,而非CSV语法的一部分。
  • 必须导入csv模块才能使用该常量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 02:58:10