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中处理日期和时间的基本知识点整理汇总
May 22 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
学python安装的软件总结
Oct 12 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
python生成并处理uuid的实现方式
Mar 03 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
CentOS 7如何实现定时执行python脚本
Jun 24 Python
Python如何实现自带HTTP文件传输服务
Jul 08 Python
如何用Python进行时间序列分解和预测
Mar 01 Python
Python面试不修改数组找出重复的数字
May 20 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 Imagick获取图片RGB颜色值
2014/07/28 PHP
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
[44:51]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第二场
2018/04/05 DOTA
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
pycharm运行scrapy过程图解
2019/11/22 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
如何用python免费看美剧
2020/08/11 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
护士自我介绍信
2014/01/13 职场文书
日语专业毕业生自荐书
2014/06/18 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
小学信息技术教学反思
2016/02/16 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
华为HarmonyOS3.0强在哪? 看看鸿蒙3.0这7个小功能
2023/01/09 数码科技