- 締切済み
csv保存について
windowsにてexcel2003を使用しています。 csvで保存した際にクォートをつける方法を教えてください。 Aのセルに数値を入力しBのセルに日本語を入れております。これでcsvにて保存しテキストエディタで開くと 1,日本語 2,日本語 ・・・ となってます。 希望としては "1","日本語" "2","日本語" ・・・ とクォートで囲みたいのですが設定で行うのでしょうか? ツールからオプション等を探してみたのですが方法がわかりません。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- peko_pee
- ベストアンサー率53% (45/84)
たまたま使用中のソフトにこの機能がありました。ソフトをひとつインストールするという手間がかかり、 Excelで直接出力するわけではないのでご質問の趣旨からちょっとはずれるかもしれませんが、 軽快なソフトで実現できるということで、ひとつご紹介しておきます。 CSV ファイルの表示・編集ができる 「Cassava Editor」 というフリーソフトに ダブルクォーテーションで囲んで出力するという機能があります。 http://www.asukaze.net/soft/cassava/ 一応簡単に方法を説明しておきます。 ・Excelで出力したCSVファイルをこの CassavaEditor に読み込ませる (Excel内で全選択または範囲指定でコピー後、Cassavaで貼り付けしてもOK) ・メニューの「オプション」から「オプション」を選択 ・データ形式のところは「CSV」を選択 ・クオートの指定のところで「すべてのセルを””で囲む」のボタンをONにし「OK」ボタンを押す ・「ファイル」メニューから「名前を付けて保存」でファイルの種類を「CSV」にして ・フォルダやファイル名を変更するなどして保存 以上で可能です。 「文字列は””で囲む」とか「必要なセルのみ””で囲む」という設定もあり、 今試してみたところ、数値データは囲まないということも可能でした。
- imogasi
- ベストアンサー率27% (4737/17070)
#3です。 VBAで Sub test01() Open "Sheet1.csv" For Input As #1 Open "Sheet1s.csv" For Output As #2 While Not EOF(1) Line Input #1, a a = """" & Replace(a, Chr(44), Chr(34) & Chr(44) & Chr(34)) & """" MsgBox a Print #2, a Wend Close #1 Close #2 End Sub を実行すると 全項目""つきになるようです。やってみてください。 ーーー 氏名,時間外,該当連番,,最高者,点数,,123,123,123 鈴木,35,,,山田,66,,,, 山田,66,1,,木村,66,,,, ・・・ が "氏名","時間外","該当連番","","最高者","点数","","123","123","123" "鈴木","35","","","山田","66","","","","" "山田","66","1","","木村","66","","","","" ・・・ のようになりました。 他に方法がないときには検討してみてください。
- imogasi
- ベストアンサー率27% (4737/17070)
設定では出来ないと思います。 いままで何度も回答に書きましたが、CSVやテキスト形式には (1)数値も文字列もそのままで、カンマで区切るだけ。 (2)数値はそのまま、文字列は””で囲う。区切りはカンマ。 (3)数値も文字列も””で囲う。区切りはカンマ。 (4)区切りがタブ、スペース等カンマ以外 (5)印刷や表示したとき、先頭や後尾がそろうような、印刷イメージの形式 PRN などあり、(1)-(3)について、保存時にそれらの選択を許すソフトはほとんどないと思う。どれでも読み込んだとき、同じように読み込めるソフトも多いと思う。 (1)-(3)に、名前も区別したものがないようだ。 エクセルでは、(1)-(3)の指定の選択を許してくれないと思う。 本質問の(3)は、プログラムで組むか、それが出来るエディタに頼るほかない。 旧BASIC時代は(2)が標準で、WRITE#というステートメントがあって 今もVBAやVB6までは使えるはず。 旧BASIC時代のデータを数値と文字列に区分する考えによると思われる が、MS社以外?のその他のソフトで、(1)(3)が使われるようになったのではないかと思う。 VBAで扱う場合は、Split関数があり、どれも似たようなもの。 (1)以外の(2)(3)で、””をはずすだけ手間がかかるので、個人的には、(1)がやりやすいようにおもう。 CSV形式データを受け入れるソフトのプログラムがどれを前提にしているかによるだろう。
- hitokotonusi
- ベストアンサー率52% (571/1086)
保存するときに""をつけるかどうかのチェックボックスがあったはずですが、 新しいバージョンだとなくなってるんでしょうか? そうじゃないと","を含む文字列が出力できなくなるので、必ずあるはずなんですが。 OOo Calcだと保存時にCSVの詳細を設定するダイアログが出てきます。 >ツールからオプション等を探してみたのですが方法がわかりません。 保存時のダイアログ回りで詳細設定か何かを探してみてください
- Myuu4
- ベストアンサー率34% (36/103)
Excelではなく、テキストエディターで行います。 メモ帳はできませんが、一括置換できるテキストエディターがあるので、その機能を使えば、『,』を『","』に変換すれば、左端と右端を除けば、変換可能です。 また、テキストエディターにもよりますが、範囲選択といって、行単位ではなく、四角い部分を選択してコピーできるエディターがあります。例えば、さくらエディター(フリーソフトです)で、F6キーを使います。この機能を使えば、左端の『"』は、それ程苦労せずにコピーできると思います。
お礼
お返事ありがとうございます。 >Excelではなく、テキストエディターで行います。 探してもそのような項目がなかったので困っておりましたが解決策がわかりすっきりです!ありがとうございました!