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

Python导出DataFrame到文本文件时字符串自动转义双引号如何解决?

问题原因

你遇到的转义属于pandas导出文本/CSV文件的默认CSV规范处理逻辑:当字段内容包含引号、分隔符时,pandas默认会为字段外层包裹双引号,同时将字段内的双引号双写转义,符合标准CSV格式要求,并非Python原生的字符串自动转义机制导致。

修复方案

方案1:调整pandas to_csv 导出参数(推荐)

通过设置导出参数关闭自动引号处理,直接保留原始字符串内容:

  • 需要先导入Python内置的csv模块,设置quoting=csv.QUOTE_NONE关闭所有自动引号转义逻辑
  • 可根据你的分隔符实际情况调整sep参数

代码示例:

import pandas as pd
import csv

# 替换为你自己的DataFrame变量名
df.to_csv(
    "导出文件路径.txt",
    sep="|",  # 和你原始数据的分隔符保持一致,此处为竖线
    quoting=csv.QUOTE_NONE,
    quotechar="",  # 取消引号字符的特殊识别
    index=False,  # 不需要导出索引时可添加该参数
    encoding="utf-8"
)

注意:如果你的字段内容中包含分隔符(此处为|),关闭引号处理后可能会导致后续读取该文件时出现列错位的问题,如果你仅需要保留原始字符串输出、不需要兼容标准CSV读取逻辑,可忽略该注意事项。

方案2:手动逐行写入(完全可控)

如果需要100%控制输出格式,不触发任何pandas默认处理逻辑,可以手动遍历DataFrame逐行拼接写入:

with open("导出文件路径.txt", "w", encoding="utf-8") as f:
    # 写入表头
    f.write("ID | Description\n")
    # 逐行写入数据
    for _, row in df.iterrows():
        f.write(f"{row['ID']} | {row['Description']}\n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 06:27:01