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

如何移除CSV字段内的换行符?(保留行尾换行)

处理CSV字段内换行符的Python方案

遇到CSV字段内部包含换行符导致Pandas解析异常的问题,核心是只替换字段内的换行符,保留每行末尾的换行,下面提供两种实用方法:

方法一:预处理CSV文件(适合大文件)

先手动处理文件,把引号包裹的多行字段合并成单行,用空格替换内部换行:

input_path = "原文件.csv"
output_path = "清理后文件.csv"

with open(input_path, 'r', encoding='utf-8') as infile, open(output_path, 'w', encoding='utf-8') as outfile:
    inside_quote = False
    for line in infile:
        # 切换引号包裹状态(奇数个引号表示进入/退出字段)
        inside_quote = inside_quote ^ (line.count('"') % 2 == 1)
        if inside_quote:
            # 引号内的行去掉换行,换成空格拼接
            outfile.write(line.rstrip('\n') + ' ')
        else:
            # 非引号内的行(行尾)直接写入,保留原换行
            outfile.write(line)

# 读取处理后的文件到DataFrame
df = pd.read_csv(output_path)

方法二:Pandas直接读取后处理(简洁高效)

利用Pandas的CSV读取参数识别引号字段,读取后统一替换内部换行:

import pandas as pd

# 读取时指定引号规则,自动识别字段内的换行
df = pd.read_csv("原文件.csv", quotechar='"', quoting=pd.QUOTE_ALL)

# 把所有字段内的换行符替换为空格
df = df.replace(r'\n', ' ', regex=True)

# 保存清理后的CSV,自动保留行尾换行
df.to_csv("清理后文件.csv", index=False)

注意:如果你的CSV使用其他引号字符(如单引号),只需修改quotechar参数对应的值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:40:27