使用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实现抓取百度搜索结果页的网站标题信息
Jan 22 Python
Python使用PDFMiner解析PDF代码实例
Mar 27 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
python实现简单flappy bird
Dec 24 Python
基于树莓派的语音对话机器人
Jun 17 Python
python中下标和切片的使用方法解析
Aug 27 Python
python默认参数调用方法解析
Feb 09 Python
Django ValuesQuerySet转json方式
Mar 16 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
Python实现京东抢秒杀功能
Jan 25 Python
Scrapy实现模拟登录的示例代码
Feb 21 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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数组
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
paypal即时到账php实现代码
2010/11/28 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
php设计模式之观察者模式定义与用法经典示例
2019/09/19 PHP
input禁止键盘及中文输入,但可以点击
2014/02/13 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
js密码强度检测
2016/01/07 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
ionic2懒加载配置详解
2017/09/01 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
vue 根据数组中某一项的值进行排序的方法
2018/08/30 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
js实现内置计时器
2019/12/16 Javascript
python client使用http post 到server端的代码
2013/02/10 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python运用sklearn实现KNN分类算法
2019/10/16 Python
基于pytorch 预训练的词向量用法详解
2020/01/06 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
教师自荐信
2013/12/10 职场文书
大学军训感言200字
2014/02/26 职场文书
研发工程师岗位职责
2014/04/28 职场文书
教师工作能力自我评价
2015/03/04 职场文书
施工安全保证书
2015/05/09 职场文书
创业计划书之寿司
2019/07/19 职场文书