我想做一些非常简单的事情。 我只想将 Excel 数据导出到 CSV,以便将其放入 Mysql 数据库中。
这是一个巨大的 Excel,所以我无法轻松管理异常。
我的问题是,当我将 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
最佳答案
所以你想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
,仍然会处理封闭的内容作为可选。这意味着列值可以用引号引起来,但不需要。请注意,据我所知。 Excel 不使用 \
转义值。
如果您需要其他格式而不是导入 MySQL,那么您可以随后使用您喜欢的设置从 MySQL 重新导出数据。当writing a file ,省略 OPTIONALLY
将为每个值打开引号。
关于mysql - 将 CSV 导出到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12774957/