MySql:如何以小数点逗号导入csv

时间:2019-03-20 15:20:15

标签: mysql csv

我一直在寻找解决问题的方法,但没有找到解决方法。

我有一个文本文件(> 15万行),以制表符分隔。 带小数的数字带有逗号。 我的字段设置为FLOAT。

问题是MySql期望点作为小数点分隔符,而不是逗号,因此所有小数点都将被忽略。 我尝试使用不同的字符集,或者甚至尝试在导入过程中用点替换逗号,但是没有运气。

我的导入步骤

USE stat; 
LOAD DATA LOCAL INFILE 'tbl_t1.txt' INTO TABLE `tbl_t1`
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;

我的原始数据

Partno                  grossw  netw     ......up to 132 col
Item1                   1,4753  1,1325
Item2                   0,1673  0,0184
Item3                   2,1357  2,0361

一旦导入我就会得到

Item1                   1   1      .........
Item2                   0   0
Item3                   2   2

尝试下面的代码时,我得到零行,我的表被清空

USE stat; 
LOAD DATA LOCAL INFILE 'tbl_t1.txt' INTO TABLE `tbl_t1`
FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' IGNORE 1 LINES
(@col1) SET grossw = REPLACE(@col1, ',' , '.');

更新 我发现了为什么要清空表,问题是我表中有132列,而@ col1只处理1列。我的上述只是一个例子。 我需要调查更多。

非常感谢您的帮助。 谢谢。

0 个答案:

没有答案