如何使用Perl解析文本文件

解析文本文件是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文件解析的相同信息是非常容易的。

科普_1