我正在使用我在网上找到的脚本将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数据库,然后每隔几个月进行一次更新,这样这似乎是一个不错的脚本,但我是否采取了错误的方式?< / p>
编辑:看来PHP代码中拆分单元格的部分是
while ($data = fgetcsv($handle,1000,",","'"));
答案 0 :(得分:2)
如果您使用逗号作为列分隔符,则应引用所有字符串字段值,例如 -
1,'My address, CO 80113'
2,'His address, CO 80114'
4,'Her address, CO 80115'
and so on
尝试使用FIELDS 已包含'\''选项的LOAD DATA INFILE语句。
答案 1 :(得分:0)
逗号(',')是CSV文件的哈特,所以当你生成csv文件时,它会在逗号找到时分割单元格。
所以我认为你应该用空格或任何其他分隔符替换逗号。在为CSV生成最终代码时,可以使用PHP的默认函数 str_replace()。