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常用内置函数总结
Feb 08 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
Python异常处理操作实例详解
May 10 Python
python smtplib发送带附件邮件小程序
May 22 Python
Python json模块dumps、loads操作示例
Sep 06 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
django框架用户权限中的session缓存到redis中的方法
Aug 06 Python
Python简易版图书管理系统
Aug 12 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
Python爬虫进阶之Beautiful Soup库详解
Apr 29 Python
python 实现两个变量值进行交换的n种操作
Jun 02 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开源建站平台小结
2010/04/22 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
php处理复杂xml数据示例
2016/07/11 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
页面版文本框智能提示JS代码
2009/11/20 Javascript
JSON辅助格式化处理方法
2013/03/26 Javascript
JavaScript中的比较操作符>、=、
2014/12/31 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
通过实例解析Python return运行原理
2020/03/04 Python
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
保护地球的标语
2014/06/17 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
婚礼答谢词范文
2015/09/29 职场文书
高中生物教学反思
2016/02/20 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js