• 締切済み

perlでcsvの指定フィールドに書き込みする方法

perlを勉強中の初心者です。 以下のような入力ファイル(csv)があった場合、特定のフィールド(この場合"0")を参照して、その数字を元に、出力ファイルには、参照したフィールドからデータ書き込むプログラム方法を教えてください。 ---入力ファイル 0,a,b,c 1,d,e,f 2,g,h,i 10,w,s,x ---出力ファイル 0,a,b,c ,1,d,e,f ,,2,g,h,i ,,,,,,,,,,10,w,s,x

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

質問文の例だと、こんなのとか(添付画像参照)。 基本的に、いったん入力を読み取って、配列やハッシュを駆使して適切なデータ構造を構築し、それを元に望みの結果を出力するという感じです。 なので、 1)入力データがどういうものか? 2)加工法は明確になっているか? 3)出力データはどうあるべきか? ――の点を押さえる必要があります。

kenken2619
質問者

お礼

お礼が遅れて申し訳ございません。わかりやすい説明ありがとうございます。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

一旦、配列に入れて、$_[0]の値を元に、unshiftで追加して、元に戻す。 文字列として、後方参照で,を加える。 のいずれか。  CSVはアプリケーション依存のフォーマットです。(特に内容に,や"を含むとき)  その点に注意しましょう。

kenken2619
質問者

お礼

お礼が遅れて申し訳ございません。Perlを少し勉強すると基本中の基本でした。回答ありがとうございます。