使用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中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
Python3读取zip文件信息的方法
May 22 Python
python基于multiprocessing的多进程创建方法
Jun 04 Python
django接入新浪微博OAuth的方法
Jun 29 Python
Python中pygame安装方法图文详解
Nov 11 Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
Python基础之字典常见操作经典实例详解
Feb 26 Python
python用tkinter实现一个gui的翻译工具
Oct 26 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.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
2015/09/07 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
js实现3D旋转相册
2020/08/02 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
vue iview 隐藏Table组件里的某一列操作
2020/11/13 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
Python开发编码规范
2006/09/08 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
详解Python中的正则表达式
2018/07/08 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
匡威英国官网:Converse英国
2018/12/02 全球购物
财务工作失误检讨书
2015/02/19 职场文书
少年雷锋观后感
2015/06/10 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python
Go语言测试库testify使用学习
2022/07/23 Golang