如何用Python pandas将含\n的字符串原样写入CSV单元格?
实现方法
要让包含\n字面量的字符串hello \n world\n.原样写入pandas DataFrame,并在文本编辑器打开CSV时正确显示,需要从两个环节处理:
1. 正确定义字符串,避免\n被解析为换行符
Python中普通字符串里的\n会被识别为换行符,必须用以下两种方式定义字符串,确保存储的是\和n两个独立字符:
import pandas as pd # 方式1:使用原始字符串(前缀r) df = pd.DataFrame({'content': [r"hello \n world\n."]}) # 方式2:转义反斜杠(用\\代替\) df = pd.DataFrame({'content': ["hello \\n world\\n."]})
2. 导出CSV时保留字面量格式
导出时通过设置quoting参数,确保字符串被正确包裹,避免CSV解析时破坏字面量结构:
import csv # 导出CSV,index=False去掉默认的行索引 df.to_csv('result.csv', quoting=csv.QUOTE_NONNUMERIC, index=False)
完成以上操作后,用文本编辑器打开导出的CSV文件,就能看到完全一致的hello \n world\n.,\n会以字面量形式显示,而非实际换行。
内容的提问来源于stack exchange,提问作者Alex B
相关产品推荐
相关产品推荐

