メモのコツを教えてください!

どのように書けばいいかわからないので教えてください。
","で区切られたcsvファイルがあるとします。(file.csv)
そのファイルは全部で5列ありますが、4列目と5列目は値が入っている場合と無い場合があります。(1~3列目は必ず値は存在します。)
このファイルの1列目と2列目を削除して、3列目から5列目だけのファイルを作成したいのですが、どうすればいいのでしょうか?

よろしくお願いします。

A 回答 (4件)

$line='a,b,c,d,,f';


($first, $second, $rest) = split(/,/,$line,3);
print $rest;
みたいにすれば、3列目以降を$restにとりだせます。
3列目以降に値が入っていない列があっても大丈夫です。
    • good
    • 0
この回答へのお礼

$line='a,b,c,d,,f';
($first, $second, $rest) = split(/,/,$line,3);
print $rest;

そっか。3つに区切って3つ目だけを取り出してやればいいんですね。
ありがとうございました!!

お礼日時:2005/09/08 13:12

#1です。

訂正。
>必要な行だけ出力する。
列ですね。
    • good
    • 0

配列変数に1行ずつデータがあるとして、単純なところでは・・・



foreachで回して必要な所だけで要素を構成して新しい配列変数に入れ、それをファイルに書き出すというのはどうか。
    • good
    • 0

入力ファイルを一行読み込み、それを配列に蓄え必要な行だけ出力する。


@ar = split /,/, $sentence;
print "$ar[2],$ar[3],$ar[4]";
みたいな。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!