使用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 相关文章推荐
浅析Git版本控制器使用
Dec 10 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python3使用smtplib实现发送邮件功能
May 22 Python
CentOS 7 安装python3.7.1的方法及注意事项
Nov 01 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
Python实现一个数组除以一个数的例子
Jul 20 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
基于python3的socket聊天编程
Feb 17 Python
python3爬虫GIL修改多线程实例讲解
Nov 24 Python
python使用yaml 管理selenium元素的示例
Dec 01 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获取网站域名和地址的代码
2008/08/17 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
常用的JS验证和函数汇总
2014/12/23 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
js如何准确获取当前页面url网址信息
2020/09/13 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
python二分查找算法的递归实现方法
2016/05/12 Python
python中时间、日期、时间戳的转换的实现方法
2019/07/06 Python
jupyter notebook清除输出方式
2020/04/10 Python
Python实现汇率转换操作
2020/05/03 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
Shell如何接收变量输入
2016/08/06 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
研究生个人学年总结
2015/02/14 职场文书
敬老院活动感想
2015/08/07 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记