使用python對(duì)文件中的單詞進(jìn)行提取的方法示例
由于需要使用一個(gè)純單詞組成的文件,在網(wǎng)上下載到了一個(gè)存放單詞的文件,但是里面有中文的解釋,那就需要做一下提取了。
文本的形式如下:
所見即所得,這個(gè)文本是有規(guī)律的,每個(gè)單詞為一行,緊接著下一行便是單詞的解釋,有了這種規(guī)律我們就很好處理了。
首先我們來(lái)將文件的數(shù)據(jù)讀取出來(lái):
#coding:utf-8 file_object = open('words.txt') try: lines = file_object.readlines() finally: file_object.close( ) for line in lines: print line
代碼執(zhí)行的結(jié)果為:
顯然,這不是我們想要的結(jié)果,因?yàn)檫@里面有太多的空行了,現(xiàn)在最主要的就是要處理掉這些妨礙我們的空行,對(duì)于中文的亂碼呢,我們是不需要中文的解釋的,所以它是無(wú)妨礙的,如果想看得舒服些,那么我們就轉(zhuǎn)碼一下就好了?,F(xiàn)在最主要的就是要知道為什么會(huì)出現(xiàn)這么多的空行,因?yàn)槲覀兊奈募且褜⒖催^(guò)了,顯然是這些空行的出現(xiàn)是有點(diǎn)“匪夷所思”的,這也是由于python讀文件的機(jī)制導(dǎo)致的,下面我們修改下代碼,來(lái)看看原因:
#coding:utf-8 file_object = open('words.txt') try: lines = file_object.readlines() finally: file_object.close( ) print lines
在這里,我們直接輸出lines,得到如下的結(jié)果:
我們隨意拿出這句'runlet\n', 'n.\xcd\xb0,\xd0\xa1\xba\xd3\n', '\n', 'runnel\n', 'n.\xd0\xa1\xba\xd3,\xcf\xb8\xc1\xf7\n', '\n',從中可以看出,對(duì)于每行的文件,在讀取的時(shí)候,換行符“\n”也是會(huì)被讀取在單詞和對(duì)應(yīng)的解釋的后面的,所以這也就是為什么會(huì)有那么多空行的原因了,這顯然不是我們想要看見的,下面我們處理一下,讓這些多余的空行失去效果:
#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'), #逗號(hào)得帶著,因?yàn)槲募陨韼Я藫Q行,可以代替pirnt的換行
程序執(zhí)行后,得到如下的結(jié)果:
好了,這下就是我們想看到的東西了,那么,現(xiàn)在我們可以將這些輸出寫入 到新的文件里了,然后就可以得到我們想要的單詞文本了。
#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: #只有奇數(shù)行為單詞 myfile.write(word)
運(yùn)行程序便可以得到新的單詞文件了,最終提取了45000多個(gè)單詞,文件如下所示:
很顯然,滿足我們最終想要實(shí)現(xiàn)的要求,那么可以收工了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python3讀取excel文件只提取某些行某些列的值方法
- Python實(shí)現(xiàn)從URL地址提取文件名的方法
- 使用python提取html文件中的特定數(shù)據(jù)的實(shí)現(xiàn)代碼
- python 提取文件的小程序
- Python3.遍歷某文件夾提取特定文件名的實(shí)例
- python 提取文件指定列的方法示例
- python實(shí)現(xiàn)從pdf文件中提取文本,并自動(dòng)翻譯的方法
- 使用python實(shí)現(xiàn)語(yǔ)音文件的特征提取方法
- Python批量提取PDF文件中文本的腳本
- python實(shí)現(xiàn)批量提取指定文件夾下同類型文件
相關(guān)文章
python解決報(bào)錯(cuò)ImportError: Bad git executable.問(wèn)題
這篇文章主要介紹了python解決報(bào)錯(cuò)ImportError: Bad git executable.問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-0610個(gè)Python Itertools方法助你事半功倍
itertools模塊就是一個(gè)很好的例子,它為開發(fā)者提供了許多強(qiáng)大的工具,可以用更短的代碼來(lái)操作Python的可迭代對(duì)象,本文主要介紹了Python中itertools高效迭代工具,感興趣的可以了解一下2024-04-04python 爬蟲出現(xiàn)403禁止訪問(wèn)錯(cuò)誤詳解
這篇文章主要介紹了 python 爬蟲解決403禁止訪問(wèn)錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2017-03-03windows11環(huán)境安裝django項(xiàng)目GNU gettext工具的步驟
Django 框架具有很好的 I18N 和 L10N 的支持,其實(shí)現(xiàn)是基于 GNU 的 gettext,本文主要介紹了windows11環(huán)境安裝django項(xiàng)目GNU gettext工具的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04django創(chuàng)建超級(jí)用戶過(guò)程解析
這篇文章主要介紹了django創(chuàng)建超級(jí)用戶過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09TensorFlow用expand_dim()來(lái)增加維度的方法
今天小編就為大家分享一篇TensorFlow用expand_dim()來(lái)增加維度的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python入門:這篇文章帶你直接學(xué)會(huì)python
本教程并未涵蓋Python語(yǔ)言的全部?jī)?nèi)容,只是一個(gè)入門的教程,Python有非常多的庫(kù)以及很多的功能特點(diǎn)需要學(xué)習(xí),小編只是拋磚引玉,希望大家可以從中受益2018-09-09Python九九乘法表的七種實(shí)現(xiàn)方式詳解
在Python中,輸出九九乘法表是一道非?;A(chǔ)的題目,但對(duì)于初學(xué)者來(lái)說(shuō),也是一個(gè)很好的練習(xí)和鞏固基礎(chǔ)知識(shí)的機(jī)會(huì),這篇文章主要給大家介紹了關(guān)于Python九九乘法表的七種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-09-09