人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【Perl】配列 $value の値をカンマ区切りでCSVファイルに書き込んで最後に改行し、 value 内の改行やカンマはうまく処理したいのですが、いくつか調べたものの結局どのスクリプトが良いのか分からなかったので教えてください。

●質問者: xiaotai
●カテゴリ:コンピュータ
✍キーワード:CSV Perl スクリプト ファイル 配列
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ●
●40ポイント

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変換が必要そうです。調べてみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ