如何使用Perl解析文本文件
來源:教育資源網(wǎng)
?
發(fā)布時間:2020-11-30 08:00:37
?
點擊:1211
解析文本文件是Perl制作出色的數(shù)據(jù)挖掘和腳本編寫工具的原因之一。
正如你所說,Perl可以用來基本上重新格式化一組文本。如果您查看第一塊文本,然后查看頁面底部的最后一部分,可以看到中間的代碼是將第一組轉(zhuǎn)換為第二組的內(nèi)容。
如何解析文本文件
例如,讓's構(gòu)建一個小程序,打開一個制表符分隔的數(shù)據(jù)文件,并將這些列解析為我們可以使用的東西。
比如說,你的老板給你一個帶有姓名,電子郵件和電話號碼列表的文件,并希望你閱讀該文件并處理這些信息,比如把它放入數(shù)據(jù)庫或只是打印出來在一個格式良好的報告中。
文件's列用制表符字符分隔,看起來像這樣:
拉里larry@example.com111-1111
卷曲curly@example.com222-2222
Moemoe@example.com333-3333
這里's我們的完整列表'將使用:
#!/usr/bin/perl
打開(文件,'data.txt';;;;
而(&&&chomp;($name,$電子郵件,$手機);;;;;;;;;;;
打印&\\\#);;;;;;;;;;;;;;;;;;;
;;;;;;
($($name,$$$$電子郵件,$##34;電話:$電話\ n";打印"---------\n";}關(guān)閉(文件);退出;注意:這從關(guān)于如何科目三安全文明駕駛常識考試在Perl中讀取和寫入文件的教程中提取了一些代碼。
它首先做的是打開一個名為data.txt(應(yīng)該與Perl腳本位于同一目錄中)。然后,它逐行讀取文件到catchall變量$_u中。在這種情況下,$是隱含的并沒有在代碼中實際使用。
在一行閱讀之后,任何白人空間都被從它的末尾洗掉。然后,拆分功能用于打破制表符字符上的行。在這種情況下,選項卡由代碼\ t表示。在split's符號的左側(cè),您'將看到I'm分配一組三個不同的變量。這些代表了每一行的一個。
最后,分別打印從文件's行拆分的每個變量,以便您可以看到如何單獨訪問每列's數(shù)據(jù)。
腳本的輸出應(yīng)該看起來像這樣:
姓名:Larry電子郵件:larry@example.com電話:111-1111---------------姓名:Curly電子郵件:curly@example.com電話:222-2222---------------姓名:Moe電子郵件:moe@example.com電話:333-3333-----雖然在這個例子中我們'只需打印數(shù)據(jù),但在一個完整的數(shù)據(jù)庫中存儲從TSV或CSV文件解析的相同信息是非常容易的。