拙著「上手に稼ぐカラ売りテクニック」が発売されました。
株価が下がる局面で利益を得ることができる「空売り」について、詳しく解説した本です。
自由国民社刊で、定価1,512円(税込)です。
PerlでCSVを読み込んでみた
今行っている仕事で、CSVを読み込んでMovable Typeにインポートする処理が必要です。
そこで、PerlでCSVを読み込む方法を調べてみました。
CPANにはCSV関係のモジュールも多数あります。
CSVをキーワードにして検索してみると、Text::CSV::Slurpというモジュールがもっとも簡単そうでした。
Text::CSV::Slurpは、ファイルや文字列からCSVを読み込んで、ハッシュリファレンスの配列(へのリファレンス)に変換してくれるモジュールです。
1.CSVファイルのフォーマット
Text::CSV::Slurpで読み込むCSVファイルは、以下のようなフォーマットにします。
- 1行目には、フィールドの名前を入れます。
- 2行目以降に個々のデータを入れます。
例えば、以下のようなデータを読み込みたいとします。
name | address | phone |
---|---|---|
山田太郎 | 東京都千代田区 | 03-1234-XXXX |
田中次郎 | 大阪府大阪市 | 06-2345-XXXX |
高橋花子 | 神奈川県横浜市 | 045-345-XXXX |
この場合、CSVファイルの内容は以下のようにします。
name,address,phone 山田太郎,東京都千代田区,03-1234-XXXX 田中次郎,大阪府大阪市,06-2345-XXXX 高橋花子,神奈川県横浜市,045-345-XXXX
2.CSVファイルの読み込み
次に、Text::CSV::SlurpでCSVファイルを読み込みます。
例えば、カレントディレクトリにある「sample.csv」というファイルを読み込んで、結果を変数$csvに代入するなら、以下の用に書きます。
use Text::CSV::Slurp; my $csv = Text::CSV::Slurp->load(file => 'sample.csv');
前述のCSVファイルのサンプルを読み込むと、結果は以下のようなハッシュリファレンスの配列になります。
後は、この配列を加工して、データベースに保存するなどの処理を行います。
[ { 'name' => '山田太郎', 'address' => '東京都千代田区', 'phone' => '03-1234-XXXX' }, { 'name' => '田中次郎', 'address' => '大阪府大阪市', 'phone' => '06-2345-XXXX' }, { 'name' => '高橋花子', 'address' => '神奈川県横浜市', 'phone' => '045-345-XXXX' } ];
3.CSVの文字列を変換する
CSVの文字列を、ハッシュリファレンスの配列に変換することもできます。
それには、以下のように書きます。
my $csv = Text::CSV::Slurp->load(string => CSVの文字列);