【问题标题】:Mysql CSV Importing - Problems with Last FieldMysql CSV 导入 - 最后一个字段的问题
【发布时间】:2016-04-03 07:11:41
【问题描述】:

这是 csv 数据的样子:

"COUNTRY_ALPHA2_CODE","COUNTRY_NUMERIC_CODE","COUNTRY_NAME","REGION_CODE","REGION_NAME"
"AD","020","Andorra","02","Canillo"
"AD","020","Andorra","03","Encamp"
"AD","020","Andorra","04","La Massana"
"AD","020","Andorra","05","Ordino"

当我尝试使用以下代码导入它时:

LOAD DATA LOCAL INFILE 'COUNTRIES.CSV'
INTO TABLE countries
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
select * from countries; 

我在最后一个字段上出现了非常奇怪的行为,好像它正在寻找最后一个带有逗号的字段。

+-------------------------+---------------------+---------------------+----------------------+
| COUNTRY_NAME            | COUNTRY_ALPHA2_CODE | COUNTRY_ALPHA3_CODE | COUNTRY_NUMERIC_CODE |
+-------------------------+---------------------+---------------------+----------------------+
| Afghanistan             | AF                  | AFG                 | 004"
"Ant           |
| Anguilla                | AI                  | AIA                 | 660"
"Alb           |
| Aland Islands           | AX                  | ALA                 | 248"
"Aze           |
| Andorra    

我查看了 CSV 导入的示例,数据似乎采用相同的格式,末尾没有逗号。不知道如何告诉mysql最后一个字段没有逗号。

【问题讨论】:

  • 尝试不使用ESCAPED BY '"'
  • 这是解决方案的一部分,见下文。谢谢!

标签: mysql csv


【解决方案1】:

好的,玩弄“终止于”的行并删除“转义者”就行了:

LOAD DATA LOCAL INFILE 'COUNTRIES.CSV'
INTO TABLE countries
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;

返回

+-----------------+---------------------+---------------------+----------------------+
| COUNTRY_NAME    | COUNTRY_ALPHA2_CODE | COUNTRY_ALPHA3_CODE | COUNTRY_NUMERIC_CODE |
+-----------------+---------------------+---------------------+----------------------+
| Aruba           | AW                  | ABW                 | 533                  |
| Afghanistan     | AF                  | AFG                 | 004                  |
| Angola          | AO                  | AGO                 | 024                  |
| Anguilla        | AI                  | AIA                 | 660                  |

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2014-10-17
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2012-06-01
    • 2016-05-07
    • 1970-01-01
    相关资源
    最近更新 更多