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程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
python写入并获取剪切板内容的实例
May 31 Python
python绘制立方体的方法
Jul 02 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 Python
使用python制作一个解压缩软件
Nov 13 Python
Python3 字典dictionary入门基础附实例
Feb 10 Python
查看keras各种网络结构各层的名字方式
Jun 11 Python
Python eval函数原理及用法解析
Nov 14 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
什么是Python装饰器?如何定义和使用?
Apr 11 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
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
javascript常用函数(2)
2015/11/05 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
Python抓取京东图书评论数据
2014/08/31 Python
python正则表达式之作业计算器
2016/03/18 Python
Python如何获取系统iops示例代码
2016/09/06 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python装饰器常见使用方法分析
2019/06/26 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
如何基于Python批量下载音乐
2019/11/11 Python
python中的逆序遍历实例
2019/12/25 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
小学教师自我鉴定
2013/11/07 职场文书
企业车辆管理制度
2014/01/24 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
英语国培研修感言
2014/02/13 职场文书
社区消防工作实施方案
2014/03/21 职场文书
小学学雷锋活动总结
2014/04/25 职场文书