我尝试将.csv文件加载到MariaDB中,但查询时遇到困难。下面是.csv文件的格式:
USER DATE TIME TESTRESULT ERRORCODE
Esa_Test 16.5.2022 12:36:59 Fail 1(MinMaxError)
Esa_Test 16.5.2022 12:38:02 Fail 1(MinMaxError)
Esa_Test 16.5.2022 12:55:40 Fail 1(MinMaxError)
Esa_Test 17.5.2022 16:15:00 Fail 1(MinMaxError)
DPHYD_Ate 18.5.2022 9:50:11 OK 0(NoError)
使用此查询时:
LOAD DATA LOW_PRIORITY LOCAL INFILE 'C:\\xampp\\mysql\\data\\test\\log2.csv' IGNORE INTO TABLE `test`.`testova2` IGNORE 4 LINES (`USER`, `DATE`, `TIME`, `TESTRESULT`, `ERRORCODE`);
数据加载成功,但带有如下空格:
USER;DATE;TIME;TESTRESULT;ERRORCODE
E s a _ T e s t ; 1 6 . 5 . 2 0 2 2 ; 1 2 : 3 6 : 5 9 ; F a i l ; 1 ( M i n M a x E r r o r )
E s a _ T e s t ; 1 6 . 5 . 2 0 2 2 ; 1 2 : 3 8 : 0 2 ; F a i l ; 1 ( M i n M a x E r r o r )
E s a _ T e s t ; 1 6 . 5 . 2 0 2 2 ; 1 2 : 5 5 : 4 0 ; F a i l ; 1 ( M i n M a x E r r o r )
E s a _ T e s t ; 1 7 . 5 . 2 0 2 2 ; 1 6 : 1 5 : 0 0 ; F a i l ; 1 ( M i n M a x E r r o r )
D P H Y D _ A t e ; 1 8 . 5 . 2 0 2 2 ; 9 : 5 0 : 1 1 ; O K ; 0 ( N o E r r o r )
我尝试通过字段终止于'\t'行终止于'定义一些“限制”|'在查询中但不工作。原始文件的编码为UTF16LE(根据记事本++)。请帮助我为我的案例构建正确的查询,以便正确插入数据。
1条答案
按热度按时间6ioyuze21#
如果有人在看这个:我设法找到了一个解决方案。问题是编码。解决方案是在MySQL中上传之前,制作一个简短的Python脚本来更改编码。代码是:
我自动化了这个,现在一切都正常了。