Python3 解决读取中文文件txt编码的问题


Posted in Python onDecember 20, 2019

问题描述

尝试用Python写一个Wordcloud的时候,出现了编码问题。

Python3 解决读取中文文件txt编码的问题

照着网上某些博客的说法添添改改后,结果是变成了“UnicodeDecodeError: ‘utf-8' codec can't decode byte…”这个错误。

捣鼓了一天啊,TXT(此处为本人现下内心表情)。最后,干脆写个最简单的文件读取,竟然还是报错。于是就考虑是不是txt的编码问题,因为读取的txt文件是在Mac上面新建的纯文本文件,一时没找到在哪里查看编码,最后拷贝到Windows系统上,查看了txt文件的编码,竟然是ASCII,不是我最爱的utf-8,Mac你辜负了我对你的一番信任啊!ε(┬┬?┬┬)3

解决方法

将txt文件的编码格式改为utf-8即可

此外,在打开文件的时候,要加上第三个参数encoding=‘utf8'(没有横杠)。

with open('./test3.txt','r',encoding='utf8') as fin:
  for line in fin.readlines():
    line = line.strip('\n')

下面附上第一次成功显示的词云的源码(参考网上他人的,注释很详细)

import jieba
import jieba.analyse
from matplotlib import pyplot as plt
from scipy.misc import imread
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator
 
# 1.读取数据
with open("./test.txt","r",encoding="utf8") as f:
  text = f.read()
 
# 2.基于 TextRank 算法的关键词抽取,top50
keywords = jieba.analyse.textrank(text, topK=50, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))
file = ",".join(keywords)
 
# 指定中文字体,不然中文显示框框
font = r'./HYQiHei-25J.ttf'
print(file)
# 指定背景图,随意
image = imread('cake.jpg')
wc = WordCloud(
  font_path=font,
  background_color='white',#背景色
  mask=image,#背景图
  stopwords=STOPWORDS,#设置停用词
  max_words=100,#设置最大文字数
  max_font_size=100,#设置最大字体
  width=800,
  height=1000,
 
)
 
#生成词云
image_colors = ImageColorGenerator(image)
wc.generate(file)
 
# 使用matplotlib,显示词云图
plt.imshow(wc) #显示词云图
plt.axis('off') #关闭坐标轴
plt.show()
# 保存图片
wc.to_file('news.png')

Python3 解决读取中文文件txt编码的问题

以上这篇Python3 解决读取中文文件txt编码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python进阶教程之模块(module)介绍
Aug 30 Python
Python 操作MySQL详解及实例
Apr 30 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Python常见MongoDB数据库操作实例总结
Jul 24 Python
python实现飞机大战游戏
Oct 26 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
Python datetime模块使用方法小结
Jun 18 Python
python 类之间的参数传递方式
Dec 20 #Python
使用pyinstaller逆向.pyc文件
Dec 20 #Python
Python3 实现减少可调用对象的参数个数
Dec 20 #Python
python获取引用对象的个数方式
Dec 20 #Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 #Python
python 读写文件包含多种编码格式的解决方式
Dec 20 #Python
pandas 中对特征进行硬编码和onehot编码的实现
Dec 20 #Python
You might like
PHP 定界符 使用技巧
2009/06/14 PHP
php给图片加文字水印
2015/07/31 PHP
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
jquery foreach使用示例
2013/09/12 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
Python可变参数函数用法实例
2015/07/07 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
Python通过文本和图片生成词云图
2020/05/21 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
捷克街头、运动和滑板一站式商店:BoardStar.cz
2019/10/06 全球购物
C#笔试题集合
2013/06/21 面试题
大学生村官工作感言
2014/01/10 职场文书
高级工程师英文求职信
2014/03/19 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
小班下学期个人总结
2015/02/12 职场文书
Jsonp劫持学习
2021/04/01 PHP
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
实例详解Python的进程,线程和协程
2022/03/13 Python