使用python对文件中的单词进行提取的方法示例


Posted in Python onDecember 21, 2018

由于需要使用一个纯单词组成的文件,在网上下载到了一个存放单词的文件,但是里面有中文的解释,那就需要做一下提取了。

文本的形式如下:

使用python对文件中的单词进行提取的方法示例

所见即所得,这个文本是有规律的,每个单词为一行,紧接着下一行便是单词的解释,有了这种规律我们就很好处理了。

首先我们来将文件的数据读取出来:

#coding:utf-8
file_object = open('words.txt')
try:
   lines = file_object.readlines()
finally:
   file_object.close( )
for line in lines:
  print line

代码执行的结果为:

使用python对文件中的单词进行提取的方法示例         

显然,这不是我们想要的结果,因为这里面有太多的空行了,现在最主要的就是要处理掉这些妨碍我们的空行,对于中文的乱码呢,我们是不需要中文的解释的,所以它是无妨碍的,如果想看得舒服些,那么我们就转码一下就好了。现在最主要的就是要知道为什么会出现这么多的空行,因为我们的文件是已将看过了,显然是这些空行的出现是有点“匪夷所思”的,这也是由于python读文件的机制导致的,下面我们修改下代码,来看看原因:

#coding:utf-8 
file_object = open('words.txt')
try:
   lines = file_object.readlines()
finally:
   file_object.close( ) 
print lines

在这里,我们直接输出lines,得到如下的结果:

使用python对文件中的单词进行提取的方法示例       

我们随意拿出这句'runlet\n', 'n.\xcd\xb0,\xd0\xa1\xba\xd3\n', '\n', 'runnel\n', 'n.\xd0\xa1\xba\xd3,\xcf\xb8\xc1\xf7\n', '\n',从中可以看出,对于每行的文件,在读取的时候,换行符“\n”也是会被读取在单词和对应的解释的后面的,所以这也就是为什么会有那么多空行的原因了,这显然不是我们想要看见的,下面我们处理一下,让这些多余的空行失去效果:

#coding:utf-8 
file_object = open('words.txt')
try:
   lines = file_object.readlines()
finally:
   file_object.close( )
 
for line in lines:
  if line!='\n':
    print line.decode('gb2312','ignore'),  #逗号得带着,因为文件自身带了换行,可以代替pirnt的换行

程序执行后,得到如下的结果:

使用python对文件中的单词进行提取的方法示例

好了,这下就是我们想看到的东西了,那么,现在我们可以将这些输出写入 到新的文件里了,然后就可以得到我们想要的单词文本了。

#coding:utf-8 
file_object = open('words.txt')
try:
   lines = file_object.readlines()
finally:
   file_object.close( )
 
myfile=open('newfile.txt','w')
num=0
for word in lines:
  if word!='\n':
    num+=1
    if num%2:  #只有奇数行为单词
      myfile.write(word)

运行程序便可以得到新的单词文件了,最终提取了45000多个单词,文件如下所示:

使用python对文件中的单词进行提取的方法示例

很显然,满足我们最终想要实现的要求,那么可以收工了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之深入变量和引用对象
Sep 24 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
Python 查看list中是否含有某元素的方法
Jun 27 Python
python+Splinter实现12306抢票功能
Sep 25 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
详解python中的线程与线程池
May 10 Python
python3 线性回归验证方法
Jul 09 Python
python处理大日志文件
Jul 23 Python
Python imread、newaxis用法详解
Nov 04 Python
python实现高斯判别分析算法的例子
Dec 09 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
python入门教程之基本算术运算符
Nov 13 Python
Python类装饰器实现方法详解
Dec 21 #Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 #Python
Python简单获取二维数组行列数的方法示例
Dec 21 #Python
python进行TCP端口扫描的实现
Dec 21 #Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 #Python
python解析json串与正则匹配对比方法
Dec 20 #Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 #Python
You might like
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
PHP实现微信提现功能
2018/09/30 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
基于Jquery实现键盘按键监听
2014/05/11 Javascript
jquery实现类似淘宝星星评分功能实例
2014/09/12 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
jQuery事件处理的特征(事件命名机制)
2016/08/23 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
Angular4学习笔记router的简单使用
2018/03/30 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
Vue组件间的通信pubsub-js实现步骤解析
2020/03/11 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
python之消除前缀重命名的方法
2018/10/21 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
汉语言文学专业求职信
2014/06/19 职场文书
大学生活动总结模板
2014/07/02 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
2016年教师新年寄语
2015/08/18 职场文书
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python