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

导出Pandas DataFrame至CSV时如何保留单元格内换行格式?

解决pandas导出CSV时单元格内多行文本换行丢失问题

问题分析

你遇到的核心问题是CSV格式规则限制:只有当单元格内容被引号包裹时,其中的换行符才会被识别为单元格内的换行,而非新行的分隔符。虽然你已经启用了QUOTE_ALL,但可能因换行符格式不统一,或阅读器未正确解析引号内内容导致格式混乱。

解决方案

1. 统一单元格内的换行符格式

先确保DataFrame中多行文本的换行符为\n(如果原数据包含\r\n等其他换行格式,先统一替换):

# 针对Content列处理换行符,根据实际列名调整
df['Content'] = df['Content'].str.replace('\r\n', '\n')

2. 优化导出代码

保持QUOTE_ALL的同时,显式指定引号字符增强兼容性(默认即为双引号,可强化标准格式):

import pandas as pd

df.to_csv(
    'Findcomposer_updated.csv',
    index=False,
    quoting=pd.io.common.csv_quoting.QUOTE_ALL,
    encoding='utf-8',
    sep=',',
    quotechar='"',
    line_terminator='\n'
)

关键说明

  • QUOTE_ALL强制所有单元格用双引号包裹,确保单元格内的\n被阅读器识别为内部换行,不会被当作新行分隔符。
  • 若用Excel打开导出的CSV文件,需手动设置单元格格式:选中目标列 → 右键「设置单元格格式」→ 勾选「自动换行」,才能看到单元格内的换行效果。
  • 导出后的CSV原始内容会呈现如下正确结构:
    "Genre","People","Content"
    "Fruit","Mark","The fruit is a peach. 
    It is very delicious."
    "Animal","Kiki","The animal is a dog.
    It is very cute"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:57:22