excel数据导入sqlite3数据库
在sqlite3数据库的使用中,我们往往会遇到大量数据的导入和导出,这时候利用sqlite3接口函数就显得比较鸡肋。下面介绍excel数据如何导入到sqlite3数据库
1、excel数据导入sqlite3数据库
注(请先看完注释):
- excel文件一般是以xslx格式存储,导入sqlite3数据库前需要另存为csv格式。
- 当csv格式文件中存在 逗号(’,’) 和 换行符 需要
替换掉。因为逗号是csv中column的分割符,而换行会被认为是excel中的下一个row,而且这两种字符会影响sqlite对导入数据的解析。这两个字符可以用一些特殊的字符(!@#¥#2的组合,呵呵,火星文就行)替换掉。简而言之,csv格式文件中不要出现逗号和换行符。 - 待导入的csv文件中只保留纯数据文本,不需要表头。
tb698_oi_method.csv表部分内容
导入的命令比较简单,下面以tb698_oi_method.csv数据文件导入到698.db数据库为例:
#1 打开或创建数据库698.db
./sqlite3 698.db
#2 创建 tb698_oi_method 列表
create table tb698_oi_method(method_id interger primary key,ic TEXT,oi TEXT, oi_name TEXT);
#3 更改显示信息的分隔符(默认分隔符 '|')
.separator ','
#4 导入数据到已创建的列表中
.import tb698_oi_method.csv tb698_oi_method
但当某些数据文本中包含逗号(’,’) 时,但又不能更改本文内容的情况下,可以将excel数据拷贝到txt中保存,使用txt文本模式导入,具体流程如下。
2、txt文本数据导入sqlite3数据库
注(同上):
-
excel拷贝到txt本文中的数据会包含tab键,我们只需要将tab键替换为非(逗号和换行符)之外的且不影响sqlite3数据解析的其他符号即可,如
‘*’.
(因为是分隔符,一定不能使用txt中已经存在的符号,否则会出现“数据类型不符”的错误) -
tab键替换:在txt文本中复制一个tab键到文本快捷替换中就可以了。
导入的流程与上基本一直,不同处已贴出。
#3 更改显示信息的分隔符,设置为自己更换的符号
.separator '*'
#4 导入数据到已创建的列表中
.import tb698_oi_method.txt tb698_oi_method
将sqlite3中的数据导出可使用output命令
.output file.txt tablename
若博文中出现错误,还望大家能够指正,谢谢!