• ベストアンサー

「,」が入った文字列に「"」が付いてしまう現象

MySQLに大量データをload data infile~でインポートしようとしています。 下準備として、エクセルデータをタブ区切りデータに変換します。 そのときに、 カンマを使っている文字列の前後に、 ダブルクォーテーションが引っ付いてしまいます。 こんな感じ a,b,c,d,e   ↓ "a,b,c,d,e" 「"」を付けずにタブ区切りに出力する方法が知りたいです。。 *カンマは、どうしても使いたい文字です。 *実際に「"」をデータとして持っているので、 単に置換機能で削除するということはできません。 主に、エクセルの処理なのですが、同じ問題で詰まった経験者が居そうなこのカテゴリに質問させていただきました。 ご了承ください。 良い対処法をお持ちの方、よろしくお願いします。

  • MySQL
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.4

エクセルでのファイル保存では、タブ区切りもカンマ区切りも一律で、文字列に「,」を含む時の""を外す方法は無かったとおもうので、 エクセル上の書き出したいセル範囲を選択指定してクリップボードにコピーします。 直ぐに、テキストエディター上で、テキスト貼り付けを行うと、セル間はタブ区切り 行間は、改行でデータがコピー貼り付けされます。(計算セルは、表示状態の結果のみ) これをテキスト保存して終わり。 この方法は、逆も可能で、クリップボードにコピーしたデータがタブ区切りになっていれば、エクセルの複数セルに貼り付けできます。

moritaka6280
質問者

お礼

やりたいことが出来ました! ありがとうございます。 他に、ご意見くださった皆さんにも感謝してます。 また機会がありましたら、よろしくお願いします。

その他の回答 (3)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

解決策の提示でないので申し訳ないのですが、 #2さんの > データの中に、本来区切り文字であるはずの ,が入っているために、全体を”で囲む」のは、CSVの一般的挙動になります(先日RFCでもそんな風に定義されました)。 質問者さんは「タブ区切り」でExcelからの出力を試みているのですから、 カンマが区切りでないことは明らかではないですか? CSVのRFCには 区切り文字をタブにしたときの挙動は記述されていないと思いますが。 で、質問者さんに質問ですが、テキスト処理のユーティリティ(sedとか)を かませるわけにはいかないんでしょうか?

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がるです。 > a,b,c,d,e が1つのセルに入ります。 という状態ですと、「データの中に、本来区切り文字であるはずの ,が入っているために、全体を”で囲む」のは、CSVの一般的挙動になります(先日RFCでもそんな風に定義されました)。 ですので、今回の件については、CSVデータの切り分け(パースとか言います)のやり方に問題があるのではないかと思われます。 CSVのパースはそれなりに面倒なので(単純に,で切り分ける、だけではうまくいかないです)、そのあたりを考慮した処理を作成する必要があるかと思います。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 とりあえずちと質問を。 Excelの1つのセルの中に入れたいデータは「a」ですか?それとも「a,b,c,d,e」ですか? それ次第で少しかわってくるので。

moritaka6280
質問者

補足

a,b,c,d,e が1つのセルに入ります。 よろしくおねがいします。

関連するQ&A

  • 行にある文字をカンマ区切りでひとつのセルに

    エクセルで次のようなデータがあります "a","b","c","d" "1","","3","4" "1","2","","4" "","2","3","4" このデータに対して 2行目から4行目のe列に その行に入っている数字をカンマ区切りで表示させたい 下記のイメージです "a","b","c","d","e" "1","","3","4","1,3,4" "1","2","","4","1,2,4" "","2","3","","2,3" ダブルコーテーションマーク"はついていませんが 質問時、表が崩れるのでこれをつけさせてもらいました 上記のイメージですがデータ的には 900行、50列ほどあります 関数かVBAでやれる方法を教えていただきたいのですが・・・ 関数・VBAについては昔やったことがある程度です 時間をかけて何かをみながら・・・やれる程度のものです ヒント等いただければ幸いです

  • エクセルでカンマ区切り文字を各行に分解するマクロを書きたい

    WindowsXP Excel2003 エクセルで以下ができるマクロを書きたいです。 B列にはカンマ区切りで文字列が入っています。 カンマ区切りの数は行によって様々です。 この表をB列のカンマ区切り文字を各行に分解したいです。 その際、A列とC列は分解前の値と同様です。 このようなマクロは書けますかね? A列     B列     C列 あ     a,b,c    100 い     d,e     200 う     f      300 え     g,h     400     ↓ A列     B列     C列 あ     a      100 あ     b      100 あ     c      100 い     d      200 い     e      200 う     f      300 え     g      400 え     h      400

  • Excelで文字列を独自の二進数で表したい。

    A,B,C,D,Eのいずれかを含む文字が順不同でセルに入っているものから、 A=10000 B=1000 C=100 D=10 E=1 と置換して足した、二進数であらわしたり、逆にその二進数から文字列に戻したりしたいです。 (例:DAなら10010、EBCなら1101) VBAの自作関数を含めてExcelの関数でできる方法があればお教えくださると助かります。

  • 文字列の置換について。

    ダブルコーテーションで囲まれ文字列が あったとします。 その文字列の中に含まれる半角カンマを なくしたいのですが、 リプレイスだと反応がありません。 その他の文字は置換出来るのですが。 どなたから、ダブルコーテーションに囲まれた 文字列の中の半角カンマを取り除く方法が ありましたらアドバイス下さい。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • バーコードで読み取った文字列を自動でエクセル カンマ 分割

    バーコードで読み取った文字列を自動でエクセル カンマ 分割 素人なんですが、バーコードリーダーで、エクセルに読み取ったデーターを自動的に、カンマ切りして行を変えたいと思っています。たとえば A1に 0071410250220をスキャンしたら自動的に B1に 0071410 C1に 25 D1に 02 E1の 20は削除 となるようにするには方法がありますか? もし 方法があれば教えてください。

  • 行列データ?の文字列操作についてです。

    行列データ?の文字列操作についてです。 ----------------------------------------------- ID A B C D E 1 1.5 1.1 a 6 2 7.4 b 1 3 7.2 c 1 4 3.2 3.1 a 1 5 1.9 1.6 a 4 6 4.0 d 3 8.0 (上手く張れませんので、画像ファイルをつけました。 実際のデータはこのようにtabが入っています。) ----------------------------------------------- 上記のような文字列?をテキストボックスのようなところに入力(ペースト)し、 変換ボタンを押すことにより、 変換後文字列 1.1-1.5(6, a), 1.6-1.9(4, a), 3.1-3.2(1, a), 4.0(3, d, 8.0), 7.2(1, c), 7.40(1, b) と変換させたい。 行っていることは下記になります。 1、B列の数字が入力されていて、A>Bの時にはAとBを入れ替える。 2、A列の数字で昇順でソートする。 3、B列の数字が入力されているものは「A-B」とする。 4、それぞれの行を「A-B(D, C,E)」として「,」でつなぐ。 今回文字列の例として6行のものを示しましたが、行数は増減します。 列はE列まででこちらは増減しません。 Excel VBAを用いて行っているのですが、javascriptで組みたいと考えています。 可能なものでしょうか?

  • FORTRANで区切りを無視する方法

    こんにちは この前ふと疑問に思ったことなのですが FOTRANのREAD文でデータを読むとカンマやスペース、タブなどを区切りとして読んでしまいます。 これらを無視して読む方法はあるのでしょうか? たとえば a,b,c,d e,f,g というデータがあって文字列として"a,b,c,d"を読み込み書き出すということです。 以前この作業をやろうと思ったのですが結局うまくいかず配列CHARA(4)を作り そこにCHARA(1)=a・・・という形で読み、吐き出すことにしました しかし、これでは処理に時間がかかってしまうために実用的ではありませんでした。 どうぞよろしくお願いします。

  • 続・2つのセル同士内の文字列比較

    エクセルで以下のような構成になっています。 A1:郷田たけしはのび太の友達 B1:たけし,しずか C1:たけし A2:隣野しずかはのび太の将来のお嫁さん B2:しずか,のび太 C2:しずか,のび太 A3:のび太とドラえもんはとても仲良し B3:のび太,ドラえもん,仲良し C3:のび太,ドラえもん,仲良し B列のカンマで区切られた文字列を元にA列内を検索し、 C列内に結果を表示したいのですが、エクセルか アクセスでの結果取得方法をご教授下さい。 因みにB列には20キーワードほどカンマ区切り文字が記入されている想定です。

  • 【Win】ファイルメーカー⇔エクセル(インポート/エクスポート)

    ファイルメーカーPro 5.0で作成したデータをエクセルに エクスポートし、エクセル上でデータの修正等をして、 またファイルメーカーに戻したいと思います。(ファイルメーカーが 入っていないパソコンでデータを追加したりしたいため。) エクセルにエクスポートすると、フィールドを"繰り返し"に 設定している部分が、エクセル(コンマ区切りcsv、タブ区切りtab)では ひとつの列に『・』で区切られて入りますよね。 ファイルメーカー上 ⇒ フィールド1:「A」「B」「C」 エクセル上 ⇒ 列1:「A・B・C」 となりますが、 別のレコードの同じフィールドに「D」「E」「F」と入れたい場合 エクセル上でどう入力すれば良いのでしょうか。 「D・E・F」と入力すると、 ファイルメーカーにインポートしたときに「D・E・F」「(空欄)」「(空欄)」 となってしまいます。 分かりにくい説明で申し訳ありませんが、よろしくお願いします。

  • Excelでの文字列編集について

    Excel2003での質問です。 今、A列~E列に以下の文字が入っています。 A  B  C  D  E 1あ い う え お  2あ   う 上記の内容を「・」で区切りを入れて、F列に結合させたいのですが  F 1あ・い・う・え・お 2あ・う どのようにすればよろしいでしょうか? よろしくお願いします。 尚、現時点で、F1に=CONCATENATE(A1,B1,C1,D1,E1)を設定し、  F 1あいうえお となっています。