使用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查看多台服务器进程的脚本分享
Jun 11 Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
Python3中详解fabfile的编写
Jun 24 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
Python进阶之全面解读高级特性之切片
Feb 19 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
安装多个版本的TensorFlow的方法步骤
Apr 21 Python
python中绕过反爬虫的方法总结
Nov 25 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代码的53条建议
2008/03/27 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
jquery中change()用法实例分析
2015/02/06 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
layui使用label标签的方法
2019/09/14 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[01:21]DOTA2新纪元-7.0新版本即将开启!
2016/12/11 DOTA
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Flask之请求钩子的实现
2018/12/23 Python
python实现LRU热点缓存及原理
2019/10/29 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
字中字效果的实现【html5实例】
2016/05/03 HTML / CSS
保时捷设计:Porsche Design
2019/03/30 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
Delphi CS笔试题
2014/01/04 面试题
大学生入党思想汇报
2014/01/01 职场文书
编写python程序的90条建议
2021/04/14 Python