python读取文本txt文件乱码问题
2020-01-15 08:48
435 查看
python2的编码实在是个头疼的问题,编码问题也将作为一个长期的话题,遇到问题随时补充。
这次的问题比较简单,是在做词云wordcloud的时候发现的,作用就是从文本文件中读取文字,将其制作成词云。部分代码如下:
1 import chardet 2 from wordcloud import WordCloud 3 import matplotlib.pyplot as plt 4 5 with open("C:\\Users\\fyc\\Desktop\\json.txt", "r") as f: 6 text = f.read() 7 type = chardet.detect(text) 8 text1 = text.decode(type["encoding"]) 9 text2 = "".join(text1) 10 print text 11 print text1 12 print text2 13 14 wordcloud = WordCloud( 15 background_color="white", 16 width=1000, 17 height=860, 18 margin=2).generate(text2) 19 20 plt.imshow(wordcloud) 21 plt.axis("off") 22 plt.show()
我们只关注5,6,7,8这四行代码,我在14行打了断点,观察读取的内容
很明显,直接读取,text是str类型,完全是乱码,text1做了处理,显示正常。
在这我们隆重介绍 python 内建模块 chardet模块,编码检测。这个模块可以检测出一行字符是什么编码,我们看一下text的编码,如下:
chardet模块的detect方法返回一个字典,其中的“encoding",明显的指出,这个是”GB2312"编码,接下来我们会心一笑,可以用decode来解码了,解码完应该就是正常显示了。
所以我们用了上面的这一句,那么今后所有的读取文件地方,在显示之前,我们都可以用chardet检测一下字符串的编码,相应解码。就可以避免文件乱码的情况了
转载于:https://www.cnblogs.com/fanyuchen/p/7151584.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- python读取txt文件时的中文乱码问题
- 移动开发 - Android - 读取assets目录下的txt文件(中文乱码问题)
- [Python] 中文路径和中文文本文件乱码问题
- 【JAVA】读取txt文件中文乱码问题
- Python实现的json文件读取及中文乱码显示问题解决方法
- Learning Python 015 Python3解决问题:读取文件时,出现乱码或者“UnicodeDecodeError 'gbk' codec can't decode” 错误
- 使用Python将TXT文本内容读取后生成指定XML格式的文件
- linux下jboss上传txt文件读取后乱码问题解决方案
- 一行一行的读取txt中文文本(解决乱码问题)
- VC 读取文本文件内容,中文乱码的问题解决
- qt读取txt文件 ,解决汉字乱码问题
- Python中读取文件乱码问题解决方案
- python2 读txt文件,中文乱码问题
- python中txt文件存储遇到的中文乱码问题
- Python3 解决读取中文文件txt编码的问题
- Java读取TXT文本文件乱码解决方案
- python2 读取文件TXT编码问题
- 关于javascript从txt文件中读取内容出现乱码的问题
- qt读取txt文件 ,解决汉字乱码问题
- 获取TXT文件,解决读取TXT乱码问题,查找所输入字是否在TXT文件中,