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

使用Pandas导入CSV后存在异常字符,如何导出规范CSV文件?

解决CSV导入Pandas后的异常格式问题

嘿,这问题我太熟了!你遇到的根本原因是原CSV文件的分隔符不是默认的逗号,而是""|""这种特殊格式——Pandas用默认逗号去解析,自然会把整行当成一列,导致列显示异常、出现一堆奇怪字符。下面给你几个靠谱的解决办法,从简单到稳妥都有:

方法一:直接让Pandas正确解析原文件(最稳妥)

既然知道了分隔符是""|"",咱们直接告诉Pandas用这个分隔符读取,再清理掉多余的双引号就行:

import pandas as pd

# 读取文件:用正则匹配特殊分隔符,指定python引擎(正则需要它)
df = pd.read_csv(
    "commaSeperated.csv",
    sep=r'""\|""',  # 正则匹配`""|""`,转义是为了让Python识别特殊字符
    engine='python',
    skipinitialspace=True  # 忽略分隔符后的空格,避免字段开头带空格
)

# 清理字段前后多余的双引号(如果有的话)
df = df.apply(lambda col: col.str.strip('"') if col.dtype == 'object' else col)

# 导出规范CSV:index=False去掉索引,quoting=1给字符串字段加双引号符合标准
df.to_csv("cleaned_standard.csv", index=False, quoting=1)

方法二:手动替换分隔符(适合快速处理)

如果不想写代码,用Notepad++就能批量搞定:

  • 打开原CSV文件,按Ctrl+H调出替换窗口
  • 「查找内容」输入""|"",「替换为」输入,
  • 点击「全部替换」,保存成新文件后,再用pandas.read_csv读取就完全正常了

注意:如果你的字段内容本身包含逗号,别用这个方法——会把字段拆碎,还是方法一更靠谱。

为啥会出现异常?

你用pandas.read_csv("commaSeperated.csv")时,Pandas默认用逗号,当分隔符,但原文件是用""|""分隔字段的,所以Pandas把整行内容当成了一个列,查看columns和head()时自然会显示一堆混乱的字符。

内容的提问来源于stack exchange,提问作者Emmanuel Osei Mensah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 21:33:13