ホーム社長ブログ>二次元配列を使って、csvファイルから1万ページのサイトを一瞬で作成する方法。

社長ブログ イメージ

二次元配列を使って、csvファイルから1万ページのサイトを一瞬で作成する方法。

Perlでは、リファレンスが使えることが、大人のプログラマーへの一つの関門と言われているようです。

私も、例に漏れず、リファレンスを理解するのに少し時間がかかりました。ようやく、最近、理解し少し使えるようになってきました。

リファレンスを使えるようになったことで、最もよく使うのが二次元配列です。

大量のデータがcsvファイルに格納されていることはよくあります。ASPから提供されているもの、自分でこつこつ作ったもの、外注したものなど。

何にせよ、大量の有益なデータさえ手元にあれば、それを二次元配列に取り込んで、大量のページを有するサイトを一瞬で生成することができます。

以下は、csvファイルから、二次元配列にデータを取り込むためのサンプルコードです。もっといい方法を知っている方がいればぜひ教えてください。力を付けるために、自分で書いたコードをどんどん公開していこうと思っています。


#! /usr/bin/perl -w
use strict;

my @elements = ();
my @data = ();
my $i = 0;

while (<>) {
    chomp;
    @elements = split(/,/);
    for (0..@elements) {
        $elements[$_] =~ s/"(.*?)"/$1/ig;
    }
    for (0..@elements) {
        $data[$i]->[$_] = "$elements[$_]";
    }
    ++$i;
}

ダイヤモンド演算子を使っているので、実行する時に、取り込むファイルを引数として設定します。

最初のforブロックでは、正規表現を使ってダブルクォーテーションを取り除き、次のforブロックで2次元配列に格納しています。

後は、好きなようにHTMLファイルに出力すれば1万ページのサイトが一瞬で完成です。

プログラミングの勉強を始めてから、仕事の効率が劇的に改善にしました。

以前は、手をつけることができなかったような大量のデータを、簡単に扱えるようになりつつあります。

実は、スパイダーも実験的に飛ばして、いろんなサイトからデータを収集しています。データを自由自在に支配できるようになれば、おもしろくて仕方ないでしょうね。

オライリーの「詳説正規表現」の「はじめに」の部分に、「正規表現をマスターすることは、自分のデータを支配することなのだ。」と書いてありました。

全くそのとおりだと思います。

↓詳説 正規表現

詳説 正規表現

トラックバック(0)

トラックバックURL: http://www.sigmadesign.co.jp/ja/mt-tb.cgi/63

コメントする

月別アーカイブ

最近のコメント

ツイッター

フッター区切り線