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中字典的setdefault()方法教程
Feb 07 Python
深入理解Python3 内置函数大全
Nov 23 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
Pycharm导入Python包,模块的图文教程
Jun 13 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
Python爬虫学习之获取指定网页源码
Jul 30 Python
Django实现CAS+OAuth2的方法示例
Oct 30 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
python语言中有算法吗
Jun 16 Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 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 Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
基于initPHP的框架介绍
2013/04/18 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
php生成微信红包数组的方法
2019/09/05 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
layui radio单选限制下一个radio单选的实例
2019/09/03 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
python中的二维列表实例详解
2018/06/19 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
自主实习接收函
2014/01/13 职场文书
自强之星事迹材料
2014/05/12 职场文书
企业理念标语
2014/06/09 职场文书
同意迁入证明模板
2014/10/26 职场文书