
No.2ベストアンサー
- 回答日時:
受け渡しに使うと言うことは相手方のアプリケーションのことも考えなければいけないのですが・・・とりあえず対応が簡単そうな方法を。
1.各セルを""で囲む。(もちろんデータにダブルクォートがある場合はカンマと同様に困ります。
2.カンマで区切らずにタブで区切る。(比較的使われない文字ですが、やはりデータ中にタブがあるとカンマと同様です)
難しいけれど完璧に対応するためには、データ中の区切り文字は特殊な文字列に変更し、受け取り側のアプリケーションではその特殊な文字列をデータ中の区切り文字として扱うという方法が使われます。
例えば、データ中のカンマは\,にするとか。
データ作成側、受け取り側でそれぞれどこまで対応できるのか分かるともっと簡単かつ具体的な方法を回答できるかも知れません。
この回答への補足
追加質問になってしまいますが、もしよろしければ教えてください。
カンマやタブ以外の区切り文字、と言ったときに、 \, は結構メジャーなんですか?
\ は半角のバックスラッシュですよね? 半角の円マークと同じですか?
今回はcrumさんが教えてくれた、2.のタブ、もしくは3.の特殊文字列でやってみようと思います。
いろいろな案、ありがとうございました。
No.4
- 回答日時:
#2で回答したものです。
>カンマやタブ以外の区切り文字、と言ったときに、 \, は結構メジャーなんですか?
\,は適当です。Unixのエスケープシーケンスっぽく書いてみました。
>\ は半角のバックスラッシュですよね? 半角の円マークと同じですか?
日本語環境だと円マーク、英語環境だとバックスラッシュですね。
おそらくWindowsに慣れている方だと#3さんの回答の""で囲む方法が見慣れたものなのではないかと思います。
(Excelとかも勝手にそういうデータを作ってくれるかもしれません)
Unix系だと\を対象の文字の前につけることで、特殊文字を普通の文字として扱うという処理に慣れていると思います。
No.3
- 回答日時:
CSVは「データがカンマで区切られている」以外のルールは、好き勝手に決めているみたいな感じですね。
Excelの場合、カンマ入りの文字列は、"(ダブルクォーテーション)でくくっています。じゃダブルクォーテーションはどうするのかというと、""(2つ並べる)になります。改行コードも文字列の中に入れてしまうので、データを受けた側は改行で1レコードと決めるわけにもいきません。。。
全角カンマで渡して、受ける側で数字の間にある全角カンマを半角に変換するというのもいい手だと思いますよ。
どうやるにしても、受け渡しの渡される方で対応できるようにしてやらないとだめですね。
全角カンマを後ほど半角に変換、というのも一手ですね。(ふむふむ)
半角カンマでどうしても区切る、ということになったら、この手を使わせていただきたいと思います。
ありがとうございました。
No.1
- 回答日時:
例えば
商品,価格,数量,コメント
ノート,150,10,これは1,500円でした。
の場合
"ノート",150,10,"これは1,500円でした。"
とすれば、最後のコメントはカンマも文字列として
扱われます。
ただし、相手側のプログラムが、これに対応している
必要があります。
Excelなどでは問題なく開けますし、Accessにインポート
する場合も問題ありません。
問題は、クォート=文字列と判断していないような自前の
プログラムを使用している場合です。
MS系のプログラム以外では、不可と考えた方がよいでしょう。
いずれにせよ、うまく行くかどうかの確認は必要です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- システム メールのcsv添付ファイルの種類を テキスト形式からカンマ区切り形式に 変更する方法はありますか? 4 2023/03/09 20:33
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- XML PHP.laravelについて 1 2023/07/06 15:26
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
このQ&Aを見た人はこんなQ&Aも見ています
-
カンマ区切りの数字をCSVファイルにインポートする時どうすれば?
Excel(エクセル)
-
データにカンマが入ったCSVデータのread方法
Visual Basic(VBA)
-
Oracle 8i コンマ(,)を含むデータをinsertしたい
その他(データベース)
-
-
4
CSV書込みの際、カンマで位置がずれる
Visual Basic(VBA)
-
5
エクセルでCSVを編集するとき、空白(NULL?)はどう入れますか
Excel(エクセル)
-
6
CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ
Excel(エクセル)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
カンマがデータとして入ってるCSVについて
Oracle
-
9
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
10
EXCELからCSVにすると余計なカンマがつきます
Excel(エクセル)
-
11
【Excel】 csvの作成時、空白セルにもカンマ
Excel(エクセル)
-
12
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
13
カンマ区切りのCSVファイルから"を削除したい
その他(プログラミング・Web制作)
-
14
各項目がダブルクォーテーションで囲まれたカンマ区切りのCSVを作る方法?
Excel(エクセル)
-
15
EXCELでCSVファイル保存するとデータが無いところにカンマ
その他(ソフトウェア)
-
16
javaのCSVデータ読込についてです
Java
-
17
CSVの定義
その他(パソコン・スマホ・電化製品)
-
18
CloseとDisposeの違い
Visual Basic(VBA)
-
19
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
20
【DB】同じトランザクション内でupdateとselectをしたときの結果値
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
マクロを使ってフォルダー内に...
-
CSVの定義
-
C#で、テキストボックスの入力...
-
EXCELからCSVにすると余計なカ...
-
JPY ¥1,500.00は日本円でお幾ら?
-
メモ帳からエクセルにセル区切...
-
Delphi6 Delimiterの使い方
-
3桁ごと?4桁ごと?コンマの...
-
Excelについて質問です。 セル...
-
テキストファイル内の「誤改行...
-
エクセル セルの書式設定 ユ...
-
カンマ区切り
-
参考URL、複数つけたい場合は・...
-
Excel 住所の分割(文字数制限...
-
dat形式ををcsv形式に変更したい。
-
PHP カンマをエスケープしたい...
-
memcmpでの・・
-
区切り文字をTABにしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
EXCELからCSVにすると余計なカ...
-
マクロを使ってフォルダー内に...
-
WORDで改ページすると時々グレ...
-
CSVの定義
-
Excelについて質問です。 セル...
-
カンマ区切り
-
VBAでtxtファイルを読み込む際...
-
[VBA][Excel]クリップボードか...
-
カンマ区切りの数字をCSVフ...
-
C#で、テキストボックスの入力...
-
データにカンマが入ったCSVデー...
-
パス区切りの文字について
-
メモ帳からエクセルにセル区切...
-
エクセルにペーストする際にカ...
-
JPY ¥1,500.00は日本円でお幾ら?
-
区切り文字をTABにしたい
-
PHP カンマをエスケープしたい...
-
(エクセル)特定のスペースを...
おすすめ情報