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 文件到我们的 MySQL 数据库中,然后每隔几个月更新一次,所以这似乎是一个不错的脚本,但我是不是走错了路?

编辑:看来拆分单元格的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 文件的 hart,因此当您生成 csv 文件时,它会在找到逗号时划分单元格。

所以我认为你应该用空格或任何其他分隔符替换逗号。当您为 CSV 生成最终代码时,您可以使用 PHP 的默认函数str_replace() 。

于 2013-03-21T06:08:39.507 回答