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

Vim无法正常显示中文+Pandas DataFrame转Dict后中文乱码求助

问题1:Vim中无法正常打印中文

我帮你梳理几个排查和解决的方向:

  • 先确认Vim的编码配置,打开Vim后输入以下命令设置编码为UTF-8:
    :set encoding=utf-8
    :set fileencoding=utf-8
    
    要是想永久生效,可以把这两行加到~/.vimrc(Linux/macOS)或者_vimrc(Windows)文件里。
  • 检查你的终端编码,不管是系统自带的终端还是第三方终端(比如iTerm2、Windows Terminal),都要把编码设置成UTF-8,终端的偏好设置里一般都有这个选项。
  • 如果是打印到物理打印机的问题,可能需要先把Vim里的内容导出成UTF-8编码的文本文件,再用支持中文的办公软件(比如Word、WPS)打开后打印,避免打印机不支持Vim的字符输出。
问题2:Pandas转字典后中文显示十六进制编码

这个其实是Python打印时的字符转义问题,底层数据还是正常的UTF-8中文,只是显示成了字节的十六进制表示,给你几个实用的解决方法:

  • 方法一:用字典推导式手动构建
    直接遍历DataFrame的行来生成字典,能确保中文正常显示:
    result_dict = {row.userid: row.movie for _, row in df.iterrows()}
    print(result_dict)
    
  • 方法二:借助json模块转换
    利用to_json配合json.loads,强制关闭ASCII转义,就能完美保留中文:
    import json
    series_obj = pd.Series(df.movie.values, index=df.userid)
    result_dict = json.loads(series_obj.to_json(force_ascii=False))
    print(result_dict)
    
  • 方法三:修改标准输出编码
    如果只是打印时显示问题,在代码开头加上这两行,让Python标准输出用UTF-8编码:
    import sys
    sys.stdout.reconfigure(encoding='utf-8')
    
    之后再打印转换后的字典,中文就会正常显示了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:50:34