ishiducaの日記 このページをアンテナに追加 RSSフィード

2009-01-17

[]社員名簿(一覧表)のtsvファイルを個人別のファイルに分割する 21:01 社員名簿(一覧表)のtsvファイルを個人別のファイルに分割する - ishiducaの日記 を含むブックマーク はてなブックマーク - 社員名簿(一覧表)のtsvファイルを個人別のファイルに分割する - ishiducaの日記 社員名簿(一覧表)のtsvファイルを個人別のファイルに分割する - ishiducaの日記 のブックマークコメント

#!/usr/bin/perl -wnlaF'\t'
use strict;
our @header;
if( $.==1 ){
    # 一行目は項目行
    @header = @F;
} else {
    # 2行目以降がデータ行
    # 行の最初の項目(ID)をファイル名に
    open my $fh, ">", "./person/$F[0]" or die "can not open $F[0]: $!";
    for( my $i = 0; $i < @header; $i++ ){
        if( $header[$i] ne '' ){
            printf $fh "$header[$i]\t";
            printf $fh $F[$i] if( defined $F[$i] and $F[$i] ne '' );
        }
        print $fh "";
    }
    close($fh);
}

こんな一覧表タイプのtsvファイルを

ID<TAB>名前<TAB>ナマエ<TAB><TAB>郵便番号<TAB>住所<TAB>電話番号<TAB><TAB>血液型 ...
00231<TAB>羽田 太郎<TAB>ハネダ タロウ<TAB><TAB>001-0102<TAB>東京都 江東区 xxxx00-00<TAB>080-xxxx-xxxx<TAB><TAB>A
00232<TAB>木村 ともえ<TAB>キムラ トモエ<TAB><TAB>002-0102<TAB>神奈川県 横浜市 xxxx00-00<TAB>070-xxxx-xxxx<TAB><TAB>AB
:

こんなファイルに分割する

ID<TAB>00231
名前<TAB>羽田 太郎
ナマエ<TAB>ハネダ タロウ

郵便番号<TAB>001-0102
住所<TAB>東京都 江東区 xxxx00-00
電話番号<TAB>080-xxxx-xxxx

血液型<TAB>A

起動オプションを使ったやり方を試してみた。思ったんだけど、起動オプションの -n -a を使うと制約が多くなる感じがする。

社員名簿から、経歴や履歴を加えた台帳を作ることになったので、書いてみたのでちょっとメモ。

AdewunmiAdewunmi2012/02/21 21:50I am totally wowed and prpeeard to take the next step now.

qdrjzrbiugqdrjzrbiug2012/02/29 03:38iodKcq <a href="http://pkxgpudmwlxy.com/">pkxgpudmwlxy</a>

トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20090117