美文网首页
数据清洗之字符编码问题

数据清洗之字符编码问题

作者: 小杨每天要早睡早起哦 | 来源:发表于2020-07-01 16:38 被阅读0次

Kaggle: Data Cleaning Challenge: Character Encodings

在使用Python 3中时,我们会遇到两种主要的文本数据类型。一个是字符串,默认是。另一个类型是字节,可以把一个字符串转换成指定的字节编码。

str.encode("utf-8", errors="replace")
str.decode("utf-8")

读取文件内容时的解码问题

有时在使用read_csv方法时,会出现如下的报错,说明无法使用utf-8解码

使用chardet模块

对于未知编码的bytes,要把它转换成str,需要先“猜测”编码。猜测的方式是先收集各种编码的特征字符,根据特征字符判断,就能有很大概率“猜对”。

记得先导入chardet模块

import chardet

检测出的编码是Windows-1252,注意到还有个confidence字段,表示检测的概率是0.73(即73%)。

PS

也会出现检测匹配概率为100%,却依然无法解码的情况

使用ascii解码后出现报错

说明样本数量还不够,不足以代表整体的编码特征。我直接加到了十万,检测文件的前十万个字节

样本数量增大后,编码类型为windows-1252 解码成功

说句题外话,在《赤裸裸的统计学》一书中提到了样本容量的重要性,容量越大越好。从上面这个问题中足以见得。


from: 赤裸裸的统计学

保存utf-8编码文件

在Python中,utf-8是标准编码方式,因此默认保存utf-8编码文件

data.to_csv("xxxx.csv")

相关文章

  • 数据清洗之字符编码问题

    Kaggle: Data Cleaning Challenge: Character Encodings 在使用P...

  • 【MySQL实战02】CentOS 7 下修改 MySQL 字符

    乱码问题: 由于 MySQL 编码原因会导致数据库出现乱码的问题。 解决办法: 修改 MySQL 数据库的字符编码...

  • 关于mysql数据库编码的问题

    字符编码,不仅数据库的数据表有字符编码,我们使用的管理数据库的客户端工具也有字符编码,甚至说后者的编码比数据表本身...

  • 编码(乱码问题原因)

    编码 字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能...

  • 【10.24】Python语法练习4/17

    今日任务:字符串与编码 一、字符串字符串是一种数据类型,但是字符串存在编码问题,因为计算机处理文本必须把文本转化为...

  • 编码

    参考:字符编码常识及问题解析深入分析 Java 中的中文编码问题 关于字符编码,你所需要知道的 编码是什么? 编码...

  • 4.Python字符编码、格式化、运算符

    一.字符编码 学习Demo字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数...

  • 13.Python之字符编码

    Python之字符编码 字符编码字符编码记录的是二进制与文字的对应关系。 常见的字符编码ASCII码:包含英文字母...

  • python 字符 编码 简述

    字符编码问题很简单,当你可以区分以下几种概念之后: 字节编码与字符编码 字节串与字符串 文件编码、IDE编码、其他...

  • Python学习笔记(2)---字符串和编码

    字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数...

网友评论

      本文标题:数据清洗之字符编码问题

      本文链接:https://www.haomeiwen.com/subject/vnpcqktx.html