使用to_csv生成无重复双引号的TXT文件问题
解决Pandas导出含双引号数据到TXT的格式问题
你遇到的问题本质是to_csv默认遵循CSV格式的引号转义规则,而你需要的是纯文本导出,不需要这些转义处理。给你两个直接可行的方案:
方案1:直接逐行写入纯文本文件
绕过to_csv的CSV格式逻辑,直接遍历DataFrame的单列数据,把每个字符串原封不动写入文件:
# 假设你的DataFrame目标列名为'col',替换成你实际的列名 with open('df.txt', 'w', encoding='utf-8') as f: for content in df['col']: f.write(f"{content}\n")
这种方式完全保留原始字符串的格式,不管里面有多少双引号都不会被修改。
方案2:调整to_csv的参数配置
如果一定要用to_csv,可以通过关闭引号处理规则来实现:
import csv df.to_csv("df.txt", header=False, index=False, quoting=csv.QUOTE_NONE, escapechar=None)
quoting=csv.QUOTE_NONE:告诉Pandas不要对任何字段添加引号,也不执行引号转义escapechar=None:禁用转义字符,避免原始引号被替换成其他符号(比如你之前用空格导致的问题)
为什么之前的方法失效?
你之前设置doublequote=False后,Pandas会用escapechar指定的字符来转义双引号,所以空格替换了引号。而上面的配置直接关闭了整个引号处理逻辑,正好匹配你需要的纯文本输出需求。
内容的提问来源于stack exchange,提问作者manueldiaz97
相关产品推荐
相关产品推荐

