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

如何让CSV格式存储的文本内的\n被识别为换行符正常打印?

问题原因

CSV文件中存储的\n是字面量字符组合(实际存储内容为反斜杠+字母n),并非Python语法中被解析为换行控制符的转义字符。你直接在代码中定义列表时写的\n会被Python自动解析为真正的换行符,因此两者打印表现不一致。

解决方法

方案1:直接替换转义字符(推荐,性能高兼容性好)

如果仅需要处理\n换行,直接将读取到的字段中字面量\n替换为真实换行符即可,同时修正代码中的不规范写法:

import csv

result = []
# csv读取官方推荐设置newline='',交由csv模块自行处理行分隔符,避免跨平台异常
with open('file.csv', 'r', encoding='utf-8', newline='') as f:
    reader = csv.reader(f, delimiter='|')
    for row in reader:
        # 逐个字段替换转义字符
        processed_row = [field.replace(r'\n', '\n') for field in row]
        result.extend(processed_row)

# 打印验证,Python3需给print加括号
for item in result:
    print(item)

方案2:统一解码所有转义字符

如果除了\n之外还有\t、\r等其他转义字符需要处理,可以使用unicode_escape做统一解码:

# 替换行内处理逻辑即可,其余代码不变
processed_row = [field.encode('utf-8').decode('unicode_escape') for field in row]

注意该方案如果处理包含大量非ASCII字符(如中文、emoji)的内容时,可能出现编码异常,仅转义字符较少时优先使用方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:06:09