使用python对文件中的单词进行提取
2017-08-11 15:41
651 查看
由于需要使用一个纯单词组成的文件,在网上下载到了一个存放单词的文件,但是里面有中文的解释,那就需要做一下提取了。
文本的形式如下:
所见即所得,这个文本是有规律的,每个单词为一行,紧接着下一行便是单词的解释,有了这种规律我们就很好处理了。
首先我们来将文件的数据读取出来:
显然,这不是我们想要的结果,因为这里面有太多的空行了,现在最主要的就是要处理掉这些妨碍我们的空行,对于中文的乱码呢,我们是不需要中文的解释的,所以它是无妨碍的,如果想看得舒服些,那么我们就转码一下就好了。现在最主要的就是要知道为什么会出现这么多的空行,因为我们的文件是已将看过了,显然是这些空行的出现是有点“匪夷所思”的,这也是由于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”也是会被读取在单词和对应的解释的后面的,所以这也就是为什么会有那么多空行的原因了,这显然不是我们想要看见的,下面我们处理一下,让这些多余的空行失去效果:
好了,这下就是我们想看到的东西了,那么,现在我们可以将这些输出写入 到新的文件里了,然后就可以得到我们想要的单词文本了。
很显然,满足我们最终想要实现的要求,那么可以收工了。
最后附上两个文件的链接:http://pan.baidu.com/s/1cMvmbG。
文本的形式如下:
所见即所得,这个文本是有规律的,每个单词为一行,紧接着下一行便是单词的解释,有了这种规律我们就很好处理了。
首先我们来将文件的数据读取出来:
#coding:utf-8 file_object = open('words.txt') try: lines = file_object.readlines() finally: file_object.close( ) for line in lines: print line代码执行的结果为:
显然,这不是我们想要的结果,因为这里面有太多的空行了,现在最主要的就是要处理掉这些妨碍我们的空行,对于中文的乱码呢,我们是不需要中文的解释的,所以它是无妨碍的,如果想看得舒服些,那么我们就转码一下就好了。现在最主要的就是要知道为什么会出现这么多的空行,因为我们的文件是已将看过了,显然是这些空行的出现是有点“匪夷所思”的,这也是由于python读文件的机制导致的,下面我们修改下代码,来看看原因:
#coding:utf-8 file_object = open('words.txt') try: lines = file_object.readlines() finally: file_object.close( ) print lines在这里,我们直接输出lines,得到如下的结果:
我们随意拿出这句'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的换行程序执行后,得到如下的结果:
好了,这下就是我们想看到的东西了,那么,现在我们可以将这些输出写入 到新的文件里了,然后就可以得到我们想要的单词文本了。
#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多个单词,文件如下所示:
很显然,满足我们最终想要实现的要求,那么可以收工了。
最后附上两个文件的链接:http://pan.baidu.com/s/1cMvmbG。
相关文章推荐
- [Python]_[使用正则表达式提取迅雷界面配置文件XLUE的图片]
- 使用文件进行优化 分类: python 小练习 divide into python python基础学习 2014-01-01 14:13 228人阅读 评论(0) 收藏
- 使用Python进行稳定可靠的文件操作详解
- Python 文本挖掘:使用机器学习方法进行情感分析(一、特征提取和选择)
- python项目练习八:使用XML-RPC进行远程文件共享
- 使用 Python 进行稳定可靠的文件操作
- 使用 Python 进行稳定可靠的文件操作
- 使用Python对json文件进行处理
- 使用 Python 进行稳定可靠的文件操作
- linux 下 rpc python 实例之使用XML-RPC进行远程文件共享
- Python笔记–IAR使用Python脚本实现自动对烧录文件进行处理
- 使用Python递归对文件进行相关处理
- 使用 Python 进行稳定可靠的文件操作
- 使用Python对文档单词进行计数
- 使用Python进行文件整理(一)
- 使用Python进行稳定可靠的文件操作
- 利用python 提取log 文件中的关键句子,并进行统计分析
- 使用fileinput模块进行原地修改文件 分类: python 小练习 2013-08-13 16:47 618人阅读 评论(0) 收藏
- 使用Python进行文件的分割与合并
- [Python]_[使用正则表达式提取迅雷界面配置文件XLUE的图片]