我正在尝试使用load DATA INFILE技术将CSV加载到MySQL中。它工作得很好,但我有一个问题,一些列使用双引号,而另一些不使用双引号。
示例:
something,123,something,"Bauer, Jack",123,something
发生的事情是引号中的逗号中断了导入,所以我的数据在最后都被顶起了。不确定如何让导入转义双引号内的逗号。
mysql --user=<USER> --password=<PASS> -e "LOAD DATA INFILE '<FILENAME>' INTO TABLE <TABLENAME> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' (col1, col2, col3, ...)" <DATABASE>
发布于 2011-05-13 22:15:11
您需要使用附加选项执行LOAD DATA INFILE语句
FIELDS OPTIONALLY ENCLOSED BY '"'
这样整个语句就变成了
LOAD DATA INFILE '<FILENAME>' INTO TABLE <TABLENAME>
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(col1, col2, col3, ...)
欲了解更多信息,请查阅优秀的MySQL Reference Manual,例如MySQL 5.1 GA。
发布于 2011-05-25 23:18:29
希望你现在已经想好了要做什么,但如果你还没有,希望这会对你有所帮助。
我在将Excel 2007导出为自定义CSV文件时遇到了问题。我发现您可以在以下位置更改字段终止符:http://www.tek-tips.com/viewthread.cfm?qid=1635599&page=15
我更喜欢使用pipe |字符,因为它不常见,并且在处理英寸“,英尺”测量时会更灵活一些。
https://stackoverflow.com/questions/5904909
复制相似问题