将CSV导出到MySQL

时间:2012-10-08 03:32:46

标签: mysql excel csv

我想做一些非常简单的事情。 我只想将Excel数据导出为CSV,以便将其放入Mysql DB中。

这是一个巨大的优势,因此我无法轻易管理异常。

我的问题是,当我将xslx保存到csv时,只有当列中有逗号或者已经存在"时才会将"放到单独的列中,所以我有我的CSV中有类似的东西:

col1 | col2 | col3 => col1,col2,col3
col1 | co,l2| col3 => col1,"co,l2",col3 
col1 |"col"2| col3 => col1,"""col""2",col3 
col1 |      | col3 => col1,,col3

所以我尝试了很多东西来转换为SQL,但我找不到好办法。

我在Excel 2007中工作,SQL希望CSV具有此配置:

Columns separated with: ,
Columns enclosed with: "
Columns escaped with: \
Lines terminated with: auto

1 个答案:

答案 0 :(得分:1)

所以你想load your data使用

LOAD DATA FROM INFILE 'filename.csv'
INTO TABLE tablename
COLUMNS TERMINATED BY ','
        OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'

加载文件时实际上会忽略OPTIONALLY,或者以更好的方式对其进行短语,即使您未指定OPTIONALLY,封闭仍将被视为可选。这意味着列值可能用引号括起来,但不需要。注意afaik。 Excel不使用\来转义值。

如果除了导入MySQL之外还需要其他格式,那么您可以使用您喜欢的设置从MySQL重新导出数据。在writing a file时,省略OPTIONALLY会为每个值启用引号。