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操作json数据的一个简单例子
Apr 17 Python
Python字符串格式化
Jun 15 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
使用python判断你是青少年还是老年人
Nov 29 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
Aug 30 Python
python实现的按要求生成手机号功能示例
Oct 08 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
python实现图像全景拼接
Mar 27 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
matplotlib jupyter notebook 图像可视化 plt show操作
Apr 24 Python
Python定时任务APScheduler原理及实例解析
May 30 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
Home Coffee Roasting
2021/03/03 咖啡文化
社区(php&&mysql)三
2006/10/09 PHP
PHP 全角转半角实现代码
2010/05/16 PHP
php设计模式 Strategy(策略模式)
2011/06/26 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
javascript中setTimeout的问题解决方法
2014/05/08 Javascript
javascript正则表达式使用replace()替换手机号的方法
2015/01/19 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
基于Vue框架vux组件库实现上拉刷新功能
2017/11/28 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
Python 序列的方法总结
2016/10/18 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
Python PIL图片添加字体的例子
2019/08/22 Python
python如何爬取网页中的文字
2020/07/28 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
贝佳斯官方网站:Borghese
2020/05/08 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
经理管理专业自荐信范文
2013/12/31 职场文书
2015年入党决心书
2015/02/05 职场文书
劳资员岗位职责
2015/02/13 职场文书
整改通知书格式
2015/04/22 职场文书