使用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 和 lint 删除项目无用资源的方法
Dec 20 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
python使用tornado实现登录和登出
Jul 28 Python
用Python实现读写锁的示例代码
Nov 05 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
Python 使用list和tuple+条件判断详解
Jul 30 Python
tensorflow之并行读入数据详解
Feb 05 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
python 连续不等式语法糖实例
Apr 15 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
无需压缩软件,用python帮你操作压缩包
Aug 17 Python
Python绘制地图神器folium的新人入门指南
May 23 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面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
python之DataFrame实现excel合并单元格
2021/02/22 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
办公室前台岗位职责
2014/01/04 职场文书
销售辞职报告范文
2014/01/12 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
三万活动总结
2014/04/28 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
班级团队活动方案
2014/08/14 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电