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 相关文章推荐
python3 与python2 异常处理的区别与联系
Jun 19 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
详解python算法之冒泡排序
Mar 05 Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
对Python _取log的几种方式小结
Jul 25 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 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禁止页面缓存的代码
2011/10/23 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
php对数组内元素进行随机调换的方法
2015/05/12 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
基于jquery循环map功能的代码
2011/02/26 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
python BeautifulSoup使用方法详解
2013/11/21 Python
Python循环语句中else的用法总结
2016/09/11 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
tensorflow之并行读入数据详解
2020/02/05 Python
python小程序之4名牌手洗牌发牌问题解析
2020/05/15 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
硕士研究生自我鉴定
2013/11/08 职场文书
民族团结先进个人材料
2014/02/05 职场文书
民生工程实施方案
2014/03/22 职场文书
2014年工程部工作总结
2014/11/25 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
总结Python常用的魔法方法
2021/05/25 Python
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android