
Rubyを使用してcsvファイルを処理しているのですが、どうしてもできない事があり質問させていただきました。
下記のようにCSVファイルを処理したいのですが教えてください。
処理前CSVファイル内容:"abc",111,bbb,"ccc","123"
処理後CSVファイル内容:"abc",111,bbb,"xxx","321"
普通にCSVparserを用いて処理すると下記のようダブルクォーテーションが消えてしまいます。
処理後CSVファイル内容:abc,111,bbb,xxx,321
ご教授お願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
1.8系のFastrCSV , 1.9系のcsv が前提で話します。
すべての項目にダブルクォーテーションがついてもよければ、
書き込み時に :force_quotes => true オプションをつけると
"abc","111","bbb","xxx","321" こうなります。
具体的な解決策でなくて恐縮ですが、
CSVの1行目にヘッダーをつけます。
"NAME","AGE,"ADDRESS","ZIP","PHONE" #=>ヘッダ
"abc",111,bbb,"ccc","123"
読み込み時に :headers=>true オプションをつけます。
csv = CSV.read( "filename.csv" , :headers=>true )
すると、単なる配列ではなくて CSV::Table オブジェクトで読み込まれます。
csv['NAME'] で1列取り出せたりするので、
あとは、methodをひたすら駆使することで何とかなりそうですが。。。
No.1
- 回答日時:
必要がなければダブルクォーテーションは付けられませんから、付けるならCSVにしてから、gsubなどで編集するんでしょうね。
必要な場合というのは、文字列の中にカンマとかダブルクォーテーションとか改行が含まれている場合。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(再質問)エクセルのマクロボ...
-
CSSのhtmlへの紐付けについ...
-
Ruby 変数 用途と違い
-
Ruby newメソッド
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
Excelマクロ 空白セルを無視し...
-
LibreOffice Calcのマクロで、...
-
ファイル名を変数で書きこむfwr...
-
シート内容の文字列を置換してV...
-
EXCEL→CSV保存時のダブルクォー...
-
バッチファイルでcsvファイルに...
-
VBAで文字列を引数とするアドイ...
-
VBScript等で、CSV内の各文字列...
-
pythonによるcsv出力がうまくい...
-
VB.netでShellExecuteがしたい
-
IPアドレスのゼロパディング
-
CSVファイルの比較と結果の取得...
-
パイソン文法で ファイルオープ...
-
fortranでデータの抜き出しをし...
-
pythonのこのエラーがわかりません
-
pythonでリストをCSVに出力する...
-
FileListBoxで出すものを絞り込...
おすすめ情報