使用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中用于求最小值的min()方法
May 15 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
python实现决策树分类算法
Dec 21 Python
python binascii 进制转换实例
Jun 12 Python
Python求均值,方差,标准差的实例
Jun 29 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
TensorBoard 计算图的查看方式
Feb 15 Python
解决Django no such table: django_session的问题
Apr 07 Python
pycharm 对代码做静态检查操作
Jun 09 Python
python Cartopy的基础使用详解
Nov 01 Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 Python
总结Pyinstaller打包的高级用法
Jun 28 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/03/27 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php 使用array函数实现分页
2015/02/13 PHP
PHP获取文件行数的方法
2015/06/10 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
PHP闭包函数详解
2016/02/13 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
javascript 弹出层组件(升级版)
2011/05/12 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
BootStrap点击保存后实现模态框自动关闭的思路(模态框)
2017/09/26 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
python复制文件的方法实例详解
2015/05/22 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
精彩的英文自荐信
2014/01/30 职场文书
小学生秋游活动方案
2014/02/23 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
高中生操行评语大全
2014/04/25 职场文书
经济类毕业生求职信
2014/06/26 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
营销与策划实训报告
2014/11/05 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
如何用JavaScript检测当前浏览器是无头浏览器
2021/04/27 Javascript
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL
Ubuntu Server 安装Tomcat并配置systemctl
2022/04/28 Servers