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解析xml文件操作实例
Oct 05 Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
pymongo为mongodb数据库添加索引的方法
May 11 Python
Python基于checksum计算文件是否相同的方法
Jul 09 Python
python爬取51job中hr的邮箱
May 14 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
May 24 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
python实现三次样条插值
Dec 17 Python
Python实现二维曲线拟合的方法
Dec 29 Python
python模式 工厂模式原理及实例详解
Feb 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
谈谈新手如何学习PHP
2006/12/14 PHP
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
Chrome Web App开发小结
2014/09/04 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
php递归函数怎么用才有效
2018/02/24 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
2012/12/12 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Hadoop中的Python框架的使用指南
2015/04/22 Python
在Python中使用模块的教程
2015/04/27 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
网络技术专业求职信
2014/02/18 职场文书
婚前保证书
2014/04/29 职场文书
市场开发计划书
2014/05/07 职场文书
合作协议书格式
2014/08/19 职场文书
期中考试复习计划
2015/01/19 职场文书
违纪检讨书范文
2015/01/27 职场文书
学习保证书怎么写
2015/02/26 职场文书
社区服务理念口号
2015/12/25 职场文书
银行求职信怎么写
2019/06/20 职场文书
python基础入门之字典和集合
2021/06/13 Python
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs