使用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中针对函数处理的特殊方法
Mar 06 Python
python实现从web抓取文档的方法
Sep 26 Python
用Python的Tornado框架结合memcached页面改善博客性能
Apr 24 Python
使用Python脚本来获取Cisco设备信息的示例
May 04 Python
详解Python中find()方法的使用
May 18 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
Python 字符串与数字输出方法
Jul 16 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
Dec 26 Python
Python Selenium异常处理的实例分析
Feb 28 Python
python 求两个向量的顺时针夹角操作
Mar 04 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
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
PHP 快速排序算法详解
2014/11/10 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
php生出随机字符串
2017/07/06 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
全球性的在线购物网站:Zapals
2017/03/22 全球购物
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
军训生自我鉴定范文
2013/12/27 职场文书
初中同学聚会感言
2014/02/11 职场文书
考核工作实施方案
2014/03/30 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
高中生打架检讨书1000字
2015/02/17 职场文书
教师远程研修感悟
2015/11/18 职场文书
javaScript Array api梳理
2021/03/31 Javascript
mysql多表查询-笔记七
2021/04/05 MySQL