😀
Euclid Jie's Book
  • Introduction
  • 资源网站
  • 亲测好用的软件
    • GitBook
    • VSCode
  • 旁门左道
    • 既爱又恨的编码格式
    • datetime与pd.to_datetime对比
  • Python
    • Pip介绍
    • Python虚拟环境
    • Python类库
    • DataFrame函数
    • 时间格式数据处理
    • Numpy函数
    • python的IDE配置
    • 创建Package并上传至Pypi
    • Unitest
  • Machine Learning
    • PyTorch Lightning
  • R语言
    • 英文分词
    • 回归分析
    • 绘图专栏
    • 图解中心化、标准化对回归的影响
  • 课程知识点
    • 回归分析
    • 因子分析
    • 残差诊断
    • 异方差检验
  • 网络爬虫
    • BeautifulSoup
    • Selenium
    • Urllib3
    • IP代理池
  • 数据库
    • Mongo数据库
    • Redis数据库
    • ClickHouse数据库
    • MySQL数据库
    • Postgres
  • Git
  • 服务器相关
  • Linux命令
  • Docker相关
  • 正则表达式
  • Uqer
  • SSH
  • BAT
  • stata
  • 装机
  • 文献相关
  • 本文排版
由 GitBook 提供支持
在本页
  • Python相关
  • Encode和Decode
  • 写入正常,结果打开乱码
  • 写入报错,有些字符不能转换
在GitHub上编辑
  1. 旁门左道

既爱又恨的编码格式

期待经过一段时间的积累,能够避免很多编码格式遇到的问题

Python相关

很多时候,都是utf-8和gbk两种编码格式的冲突,很多时候用记事本打开,然后指定为gbk格式另存,能够解决大部分问题,但是有时候也有些字符无法转换。所以最好是在写代码时规避这些内容!

Encode和Decode

unicode 是一种无编码格式的状态,不同的应用会自动尝试用一些自以为正确的编码格式(如utf-8、gbk)等格式解码

  • encode

    encode()方法就是将unicode编码方式转化为对应的实现方式

    str.decode(encoding=“utf-8”, errors='strict')  # 严格
  • decode

    decode()方法就是实现方式变回Unicode

    str.encode(encoding=“utf-8”, errors='ignore')  #忽略错误

写入正常,结果打开乱码

  • 写入csv,结果打开乱码

    奇技淫巧,指定编码格式为utf-8-sig,似乎这种编码格式是utf-8和gbk格式的交际,具体忘记了;按道理来说应该先试一试gbk格式

    data_df.to_csv(filename.csv, index=False, encoding='utf-8-sig')

写入报错,有些字符不能转换

  • 读取json文件,写入csv报错

    原因应该是有些字符串可以使用utf-8解码显示,但是无法重新编码为gbk,就比如一些/u200,真是让人头大,奇技淫巧之忽略,先解码为gbk再编码

    answer_Full = answer_Full.encode('gbk','ignore').decode('gbk')  # 设置忽略错误
上一页旁门左道下一页datetime与pd.to_datetime对比

最后更新于2年前