rubyでCSV.foreachを使いました。
CSV.foreach(ARGV[0], headers: true) do |row| # ヘッダ行以外の処理 end
処理した結果を再度csvとして出力したいのですが、その際の
ヘッダは入力ファイルと同じものを出力します。
"headers: true"
を書いていると、ループの中はヘッダは
読み込まれず便利ですが、出力の際にはヘッダ情報を追加したい
となると、どうしたら良いのでしょうか。
"headers: true"
を書かずに、1行目はヘッダとして保存して
出力処理で使う、というのが通常の使い方でしょうか。
それで目的は達成できますが、せっかくのヘッダを判定する機能が
生かされていないように思えて質問しました。
ヘッダ項目をソースに書いておき、出力時に最初に書き出せばOKですが
ファイルが変わる都度プログラムを書き換えなければならず、
汎用性がなくなると思いました。
CSV.tableを使うことも考えましたが、ヘッダに日本語が含まれているため、
(日本語のヘッダは、取得できないため)この方法は使えませんでした。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。