Perlコーディング初心者質問スレ Part 43
■ このスレッドは過去ログ倉庫に格納されています
0236nobodyさん
2005/08/29(月) 23:36:40ID:???扱うファイルが小さいなら、DBを使うよりも
現在のようにシーケンシャルファイルを扱う方法のままが手軽でいいかも。
その上で、
1. 2次元の表を扱うので2次元配列に読み込む
2. ファイルからの読み込み、ファイルへの書き出しは
push, join, map 等を使って簡潔に書けるので、その辺りを調べてみる
といいと思う。
my @data;
open(IN, 'data.csv');
for (<IN>) { # ファイルサイズが大きいなら while で
push(@data, [ split(/,/) ]);
}
close(IN);
$data[79][2] = 'hoge'; # 80行3列を書き換える
$data[2][4] = 52; # 公民の5列目を52に
open(OUT, '> data.csv');
print OUT map { join(',', @{$_}) . "\n" } @data;
close(OUT);
# チェックしてないのでミスありそう
こんな感じはどうでしょう?
■ このスレッドは過去ログ倉庫に格納されています