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 异常处理实例详解
Mar 12 Python
Python反射的用法实例分析
Feb 11 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
python中多层嵌套列表的拆分方法
Jul 02 Python
Flask框架信号用法实例分析
Jul 24 Python
python实现顺序表的简单代码
Sep 28 Python
很酷的python表白工具 你喜欢我吗
Apr 11 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
pycharm激活方法到2099年(激活流程)
Sep 22 Python
pandas 数据类型转换的实现
Dec 29 Python
浅谈Python数学建模之整数规划
Jun 23 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开启gzip页面压缩实例
2013/06/09 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
php中异常处理方法小结
2015/01/09 PHP
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
python基础练习之几个简单的游戏
2017/11/10 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
去除python中的字符串空格的简单方法
2020/12/22 Python
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
几个SQL的面试题
2014/03/08 面试题
运动会获奖感言
2014/02/11 职场文书
推荐信格式要求
2014/05/09 职场文书
购房意向书
2014/08/30 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
先进教师事迹材料
2014/12/16 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技