0

オンラインで見つけたスクリプトを使用して、CSV ファイルを MySQL にインポートしています: http://www.johnboy.com/blog/tutorial-import-a-csv-file-using-php-and-mysqlしかし、スクリプトがセル内のこのようなアドレスでコンマを検出するとMy address, CO 80113、そこでも分割されます。

Excel からタブ区切りの txt ファイルに保存できるソリューションを見てきました。次に、メモ帳に移動して、タブをセミコロンに置き換えます。

これは「アドレスのコンマを修正する」問題のベスト プラクティスですか?

私の最終的な目標は、何百ものクライアントでいっぱいの Highrise から CSV ファイルを取得して、数か月ごとに更新することです。これは適切なスクリプトのように見えますが、間違った方法で行っているのでしょうか?

EDIT:セルを分割するPHPコードの部分はこれです

while ($data = fgetcsv($handle,1000,",","'")); 
4

2 に答える 2

2

列区切りとしてコンマを使用する場合は、すべての文字列フィールド値を引用符で囲む必要があります。

1,'My address, CO 80113'
2,'His address, CO 80114'
4,'Her address, CO 80115'
and so on

FIELDS ENCLOSED BY '\'' オプションを指定してLOAD DATA INFILEステートメントを使用してみてください。

于 2013-03-21T07:16:36.240 に答える
0

カンマ (',') は CSV ファイルのハートなので、csv ファイルを生成すると、カンマが見つかったときにセルが分割されます。

したがって、カンマをスペースまたはその他の区切り記号に置き換える必要があると思います。最終的なコードが CSV 用に生成されるときに、PHP のデフォルト関数str_replace()を使用できます。

于 2013-03-21T06:08:39.507 に答える