• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データに「,」があると「"」でくくられます。)

カンマがある場合のデータ表示方法

このQ&Aのポイント
  • データに「,」があると「"」でくくられます。
  • aaa.txtというタブ区切りのデータファイルをMySQLに読み込んでdatabaseテーブルを作成したい。
  • データの2行目のようにカンマがある場合、両端に"が付く問題が発生する。どのようにすれば"を付けずにデータを表示させることができるか。

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

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

>$sql="insert into database(no,dat1,dat2)values('".$str[$i][0]."','".$str[$i][1]."','" .$str[$i][2]."')"; このsqlだと、登録されたデータには、""は入らないと思います。 続きがないので憶測ですけど、表示する時に""がくっついているだけなのでは??? どこでくっつくのかは、データ編集の各行で逐一echoなりprintなりしてみてはいかがでしょう?

bssa
質問者

お礼

ご指摘いただいたように、もう一度逐一のechoかprintを試し、どこでくっついているのか調べてみたいと思います。 もしほかの原因もお心当たりありましたら、ご教授お願いいたします。

bssa
質問者

補足

ご回答くださりありがとうございます。 補足ですが、以前CSV形式で利用していたのですが、どうしても,のついた文字をMySQLに読み込ませる必要がありタブ区切りTXTファイルに変更しました。 変更点は下記2点です。 $fp = fopen("aaa.csv","r"); →$fp = fopen("aaa.txt","r"); $str[$i] = explode(",", $record[$i]); →$str[$i] = explode("\t", $record[$i]); 上記変更をしたら質問のように""で囲まれる現象となったのです。

その他の回答 (1)

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

>以前CSV形式で利用していたのですが、どうしても,のついた文字 をMySQLに読み込ませる必要がありタブ区切りTXTファイルに変更しました。 csv形式で作成したときに、 2, "con,con", コンコン となって保存されているものを、拡張子だけ変更したとか?? aaa.txtの中身を再確認する必要もありそうですね。 確か、csvの""くくりをうまく切り分けてくれる関数があったように思います。 fgetcsv、とかfputcsvなどの関数を調べてみてください。

bssa
質問者

お礼

タブ区切りテキストの作成方法ですが、excelを利用して""で囲まれない方法か、excelを利用せず作成する方法をご存知でしたらご教授いただけませんか。 excelの使用方法という意味合いだとスレ違いであるのは承知しておるのですが...

bssa
質問者

補足

いろいろ試してみまして、原因が判明しました。PHPおよびMySQLは関係なかったようです。 元データはexcel形式の.xlsだったのですが、それをCSV形式にするとき[ファイル]-[名前をつけて保存]で、ファイルの種類をCSV(カンマ区切り)(*.csv)として保存して使用しておりました。 同様にタブ区切りデータにするためにファイルの種類をテキスト(タブ区切り)(*.txt)として保存して使用したのですが、できたTXTファイルをメモ帳で開いてみたところすでに""で囲まれていました。これでは当たり前の現象でした。

関連するQ&A