如何高效地向SQLite导入大量数据

如果想把数据文件(如csv、txt)导入SQLite,我通常使用以下两种方式:
1、pandas读取后数据文件后,使用to_sql写入数据库;
2、使用SQLiteStudio,创建表格,再向表格导入数据。

当数据量较大的时候(百万),这两种方式相当慢。今天找到一种新方式,使用官网提供的SQLite.exe。下面详细介绍如何使用。

一、下载SQLite.exe

下载地址:http://www.sqlite.org/download.html
网上很多信息都过时了,今天研究了一下,下载图中圈起来那个文件,解压后,SQLite.exe就在里面了。

二、准备工作

1、在数据库中创建一个表格,制定好表格各列的属性(可使用SQLiteStudio)。

2、打开CSV文件,删除第一行(表头)。因为数据量很大,需要用EmEditor打开,把"去除掉,可以另存为txt。如果文件中有中文,记得要选择UTF-8编码,否则导入后是乱码。保存在数据库所在的文件夹。

3、把SQLite.exe复制到数据库所在的文件夹中。

三、打开SQLite.exe

执行以下指令。

sqlite> .open database.db   #打开数据库
sqlite> .database    #用于验证:显示目前连接的数据库路径
main: D:\python test\SQLite\DB\database.db
sqlite> .table    #用于验证:显示这个数据库有哪些表格
tableA
sqlite> .separator ","  #指定分隔符为","
sqlite> .import importdata.txt tableA   # .import FileName TableName

回车后就开始导入数据,两百多万的数据不到一分钟就导完了。导完后通过SQLiteStudio打开,确认是否成功。

记住每个指令前面都有一个“.”
.help可调出所有指令说明。

四、SQLite.exe导入中文的乱码问题

导入文件需保存为UTF-8编码方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容