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

Pandas使用df.to_csv输出时如何保留多行换行且无多余双引号

解决方案

核心逻辑是CSV标准中,分隔符、换行符本身是用来划分字段和行边界的特殊字符,若内容中包含这类字符且不想用双引号包裹边界,必须替换分隔符为内容中不存在的特殊字符,从根源避免边界识别冲突。

可直接使用的参数配置

需要同时调整sep、quoting、escapechar、lineterminator四个参数,示例代码如下:

import pandas as pd
import csv

# 示例DataFrame构造
df = pd.DataFrame({
    "content": ["Line A) This is some sample text\n\nLine B) This text, it goes into the column in question"]
})

# 导出配置
df.to_csv(
    "target.csv",
    sep="\t",  # 替换为所有单元格内容中都不会出现的分隔符,可替换为|、^等罕见符号
    quoting=csv.QUOTE_NONE, # 关闭自动加双引号的逻辑
    escapechar="\\", # 转义字符,若内容意外出现分隔符可自动转义避免结构混乱
    lineterminator="\n", # 显式指定全局行结束符,和单元格内的换行做区分
    index=False
)

注意事项

  • 后续读取该CSV时,需要指定和导出时一致的sep参数,即可正确识别多行内容归属同一单元格,不会出现拆分
  • 如果你必须使用逗号作为CSV分隔符,该需求无法实现:逗号作为分隔符时,内容中的逗号、换行没有双引号做边界标记的话,任何CSV解析器都会将其识别为字段/行边界,必然导致内容拆分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:36:00