使用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通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 Python
Python统计文件中去重后uuid个数的方法
Jul 30 Python
Python遍历文件夹和读写文件的实现代码
Aug 28 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
python 二维数组90度旋转的方法
Jan 28 Python
说说如何遍历Python列表的方法示例
Feb 11 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
python文件编写好后如何实践
Jul 07 Python
Python图片处理之图片裁剪教程
May 27 Python
 python中的元类metaclass详情
May 30 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
原生js实现模拟滚动条
2015/06/15 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
python 制作简单的音乐播放器
2020/11/25 Python
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
求职简历自荐信
2013/10/20 职场文书
教师年度考核评语
2014/04/28 职场文书
会计求职信
2014/05/29 职场文书
街道务虚会发言材料
2014/10/20 职场文书
项目安全员岗位职责
2015/02/15 职场文书
古诗之感恩老师
2019/10/24 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL