使用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笔记(2)
Oct 24 Python
Python使用稀疏矩阵节省内存实例
Jun 27 Python
Python求两个list的差集、交集与并集的方法
Nov 01 Python
python实现12306抢票及自动邮件发送提醒付款功能
Mar 08 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
May 26 Python
python读出当前时间精度到秒的代码
Jul 05 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
python使用列表的最佳方案
Aug 12 Python
Python读取图像并显示灰度图的实现
Dec 01 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 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
基于mysql的论坛(4)
2006/10/09 PHP
phpmyadmin的#1251问题
2006/11/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
2014/06/23 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
如何确保JavaScript的执行顺序 之jQuery.html深度分析
2011/03/03 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
Ant Design Pro 下实现文件下载的实现代码
2019/12/03 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
python如何获取服务器硬件信息
2017/05/11 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
python正则表达式实例代码
2020/03/03 Python
python实现在线翻译
2020/06/18 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
介绍下WebSphere的安全性
2013/01/31 面试题
自荐信的两点禁忌
2013/10/30 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
安全生产责任书
2014/03/12 职场文书
教师听课评语大全
2014/12/31 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers