candy 发表于 2016-11-30 08:59:07

SQLite导入csv文件小记

  SQLite的命令行工具sqlite3支持简单的csv文件导入,不足之处有:


[*]不支持字段用双引号括起来
[*]不支持转义字符,如果数据本身包含分割符就无法正确导入
[*]使用了.mode csv后貌似字段分隔符不能修改为非逗号的字符
  针对以上限制,如果数据本身有逗号,可以用竖线作为分隔符来格式化数据文件。比如:

1|QAD Enterprise Application|Base|0|QAD
2|Q-Xtend Inbound|QXI|1|QAD
3|Q-Xtend Outbound|QXO|1|QAD
4|Serialization, attributes and quality control|SAQ|1|QAD
5|Distrubution Center|DC|1|QAD
6|Label Printing Services|LPS|1|QAD
7|Customization|Cust|1|
8|Surper Merge|ECO|1|

  该数据文件有5个字段,第4行第2个字段中包含逗号,因此用竖线可保证该数据可以正确导入。导入该数据的sqlite脚本如下:

.separator '|'
.import "product.csv" product
  如果要该文件导入到MySQL中,那么对应脚本是:

load data local infile "product.csv" into table product fields terminated by '|';
页: [1]
查看完整版本: SQLite导入csv文件小记