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 相关文章推荐
linux系统使用python获取内存使用信息脚本分享
Jan 15 Python
深入理解Python 代码优化详解
Oct 27 Python
Python中的sort()方法使用基础教程
Jan 08 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
Python3 执行系统命令并获取实时回显功能
Jul 09 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
Python-openCV读RGB通道图实例
Jan 17 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
Oct 15 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 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 缓存函数代码
2008/08/27 PHP
深入php多态的实现详解
2013/06/09 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
理解JavaScript中的事件
2006/09/23 Javascript
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
js闭包实例汇总
2014/11/09 Javascript
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
javascript中this关键字详解
2016/12/12 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
python3爬取各类天气信息
2018/02/24 Python
浅谈python3中input输入的使用
2019/08/02 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
民族团结先进集体事迹材料
2014/05/22 职场文书
法人委托书的范本格式
2014/09/11 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
神农溪导游词
2015/02/11 职场文书
学历证明样本
2015/06/16 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技