我正在尝试使用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>
答案 0 :(得分:46)
您需要使用附加选项
执行语句LOAD DATA INFILEFIELDS 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。
答案 1 :(得分:0)
希望你现在已经知道要做什么了,但如果你不希望这会帮助你。
我在Excel 2007导出到自定义CSV文件时遇到了问题。我发现你可以在这里更改字段终止符:http://www.tek-tips.com/viewthread.cfm?qid=1635599&page=15
我更喜欢使用烟斗|角色虽然不常见,但在处理英寸“,脚”测量时更加灵活。