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

使用pandas DataFrame读取CSV文件时如何正确处理$字符

问题根因

你反复调整编码参数无效的核心原因是问题和文件编码、pandas读取逻辑完全无关:
pandas本身可以正常识别$符号,你看到$包裹的文本被渲染为粗斜体,是你使用的Notebook类交互环境(Jupyter Notebook/Lab、VS Code Notebook、Colab等)在输出DataFrame时默认启用了Markdown/LaTeX富文本渲染——单组$包裹的内容会被解析为LaTeX行内公式标记,部分渲染器也会同步触发斜体/粗体格式规则,最终显示为异常的格式效果,本质是前端渲染层的问题,不是读文件出错。

你可以先执行以下代码做快速验证:

# 替换成你实际包含$符号的列名
print(df["对应列名"].iloc[0])

如果print输出的内容可以正常显示原始带$的文本,即可完全确认问题出在渲染环节,不需要再调整任何read_csv的编码相关参数。

可行解决方案

根据你的使用场景选一个即可:

  • 临时关闭pandas输出的LaTeX公式渲染
    执行全局配置后,再输出DataFrame就不会把$识别为公式标记:
    pd.set_option('display.html.use_mathjax', False)
    df.head()
    
    如果是VS Code Notebook环境,也可以直接在单元格输出区域的设置项里,手动关闭「渲染LaTeX公式」开关。
  • 转义文本中的$符号(适合需要保留富文本渲染的场景)
    如果不想全局关闭渲染能力,可以批量把文本列里的$替换为转义格式,避免被渲染器识别为格式标记:
    df = df.replace(r'\$', r'\\$', regex=True)
    df.head()
    
  • 强制用纯文本输出DataFrame
    不需要富文本展示的话,直接用print输出纯文本内容,完全不会触发Markdown/LaTeX格式解析:
    print(df.head())
    

内容的提问来源于stack exchange,提问作者nitin bhatt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:36:20