http://www.hatena.ne.jp/1138373421#
人力検索はてな - 【Perl】配列 $value の値をカンマ区切りでCSVファイルに書き込んで最後に改行し、 value 内の改行やカンマはうまく処理したいのですが、いくつか調べたものの結局どのスク..
最終的なCSVはどうなっていれば良いのでしょう。
csvである以上、普通にカンマを含んでいては問題がありますよね。
EXCELのように値をダブルクォートで囲んでみてはいかがでしょうか。
(イメージと違っていたらスミマセン。)
#配列の定義
#カンマ、改行を含む値をセット
@value = (’AA’,’B,B’,’C
CC’);
#配列の値とカンマを順番に$csvdataに追記
#配列の値の前後にはダブルクォートをセット
while (@value){
$csvdata .= ’”’ . shift(@value) . ’”’ . ’,’;
}
#行末のカンマを改行に置換
$csvdata =~ s/,$/¥n/ ;
#csvファイルを開き、$csvdataの値を追記
open(OUTPUTFILE,”>>sample.csv”);
print OUTPUTFILE $csvdata;
close OUTPUTFILE;
出力結果のsample.csvをEXCELで開けば正しくセルにセットされます。
ありがとうございます! できたみたいです。
なのですが、EUC-jpで記述してしまっているので、sjis変換が必要そうです。調べてみます。