生活

Perlでテキストファイルを解析する方法

Perlでテキストファイルを解析する方法


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

テキストファイルの解析は、Perlが優れたデータマイニングおよびスクリプトツールである理由の1つです。

以下に示すように、Perlは基本的にテキストのグループを再フォーマットするために使用できます。テキストの最初の部分を見て、ページの下部の最後の部分を見ると、中央のコードが最初のセットを2番目のセットに変換していることがわかります。

テキストファイルを解析する方法

例として、タブで区切られたデータファイルを開き、使用可能なものに列を解析する小さなプログラムを作成しましょう。

一例として、上司が名前、メール、電話番号のリストをファイルに渡し、ファイルを読んで、データベースに入れたり、単に印刷したりするなど、情報を使って何かをしたいきれいにフォーマットされたレポートで。

ファイルの列はTAB文字で区切られ、次のようになります。

ラリー[email protected] 111-1111

Curly [email protected] 222-2222

Moe [email protected] 333-3333

これが私たちが作業する完全なリストです:

#!/ usr / bin / perl

オープン(FILE、 'data.txt');

while(){

ムシャムシャ;

($ name、$ email、$ phone)= split( " t");

print "Name:$ name n";

print "Email:$ email n";

print "電話:$ phone n";

print "--------- n";

}

閉じる(FILE);

出口;

注意: これは、Perlでファイルを読み書きする方法に関するチュートリアルからいくつかのコードを引き出します。

最初に行うのは、data.txt(Perlスクリプトと同じディレクトリに存在する必要がある)というファイルを開くことです。次に、ファイルをキャッチオール変数$ _に1行ずつ読み取ります。この場合、$ _は 暗示される 実際にはコードで使用されていません。

行を読み込んだ後、空白はすべて削除されます。次に、分割関数を使用して、タブ文字の行を区切ります。この場合、タブはコードで表されます t。スプリットの記号の左側に、3つの異なる変数のグループを割り当てていることがわかります。これらは、行の列ごとに1つを表します。

最後に、ファイルの行から分割された各変数は個別に印刷されるため、各列のデータに個別にアクセスする方法を確認できます。

スクリプトの出力は次のようになります。

名前:ラリー

メール:[email protected]

電話番号:111-1111

---------

名前:カーリー

メール:[email protected]

電話番号:222-2222

---------

名前:萌え

メール:[email protected]

電話番号:333-3333

---------

この例ではデータを印刷していますが、TSVまたはCSVファイルから解析された同じ情報を本格的なデータベースに保存するのは簡単です。