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

使用Python写CSV时如何将多段落内容写入单个单元格

Python写入CSV时避免多段落文本换行拆分的解决方法

核心说明

你提供的原始代码逻辑基本正确,Python标准库的csv模块默认就会对包含换行符、逗号、引号的字段自动用双引号包裹,写入阶段本身不会把单个字段拆成多行。大部分时候出现拆分问题是工具识别或者参数配置疏漏导致的,按以下方案优化即可。

优化后的写入代码

from csv import writer, QUOTE_MINIMAL
# 编码改用utf-8-sig,兼容Windows系统下Excel的编码识别
with open('test.csv', 'w', encoding='utf-8-sig', newline='') as file:
    # 显式指定引用规则,默认QUOTE_MINIMAL仅对需要转义的字段加引号,也可改为QUOTE_ALL给所有字段加引号更稳妥
    thewriter = writer(file, quoting=QUOTE_MINIMAL)
    header = ['标题', '描述']
    thewriter.writerow(header)

    title = '这是我的标题'
    description = '这是我的长描述,一共三段。\r\n这是第二段\r\n这是第三段' 

    info = [title, description]
    thewriter.writerow(info)

常见问题处理

  • 用Excel打开还是换行拆分:不要直接双击打开CSV文件,打开Excel后依次点击「数据」-「获取数据」-「自文件」-「从文本/CSV」,导入时编码选择UTF-8,分隔符选择逗号,就能正确识别带换行的单字段。
  • 不需要保留文本换行格式:可直接替换掉所有换行符,代码如下:
    # 将所有换行替换为空格,彻底避免换行拆分问题
    description = description.replace('\r\n', ' ').replace('\n', ' ')
    
  • 文本内自带双引号:无需手动处理,csv.writer会自动对双引号做转义,不会破坏字段结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:36:03