如果想把數(shù)據(jù)文件(如csv翎猛、txt)導(dǎo)入SQLite,我通常使用以下兩種方式:
1臼节、pandas讀取后數(shù)據(jù)文件后撬陵,使用to_sql寫入數(shù)據(jù)庫(kù);
2网缝、使用SQLiteStudio巨税,創(chuàng)建表格,再向表格導(dǎo)入數(shù)據(jù)粉臊。
當(dāng)數(shù)據(jù)量較大的時(shí)候(百萬(wàn))草添,這兩種方式相當(dāng)慢。今天找到一種新方式扼仲,使用官網(wǎng)提供的SQLite.exe远寸。下面詳細(xì)介紹如何使用。
一屠凶、下載SQLite.exe
下載地址:http://www.sqlite.org/download.html
網(wǎng)上很多信息都過時(shí)了驰后,今天研究了一下,下載圖中圈起來那個(gè)文件矗愧,解壓后倡怎,SQLite.exe就在里面了。
二贱枣、準(zhǔn)備工作
1、在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)表格颤专,制定好表格各列的屬性(可使用SQLiteStudio)纽哥。
2、打開CSV文件栖秕,刪除第一行(表頭)春塌。因?yàn)閿?shù)據(jù)量很大,需要用EmEditor打開簇捍,把"去除掉只壳,可以另存為txt。如果文件中有中文暑塑,記得要選擇UTF-8編碼吼句,否則導(dǎo)入后是亂碼。保存在數(shù)據(jù)庫(kù)所在的文件夾事格。
3惕艳、把SQLite.exe復(fù)制到數(shù)據(jù)庫(kù)所在的文件夾中搞隐。
三、打開SQLite.exe
執(zhí)行以下指令远搪。
sqlite> .open database.db #打開數(shù)據(jù)庫(kù)
sqlite> .database #用于驗(yàn)證:顯示目前連接的數(shù)據(jù)庫(kù)路徑
main: D:\python test\SQLite\DB\database.db
sqlite> .table #用于驗(yàn)證:顯示這個(gè)數(shù)據(jù)庫(kù)有哪些表格
tableA
sqlite> .separator "," #指定分隔符為","
sqlite> .import importdata.txt tableA # .import FileName TableName
回車后就開始導(dǎo)入數(shù)據(jù)劣纲,兩百多萬(wàn)的數(shù)據(jù)不到一分鐘就導(dǎo)完了。導(dǎo)完后通過SQLiteStudio打開谁鳍,確認(rèn)是否成功癞季。
記住每個(gè)指令前面都有一個(gè)“.”
.help可調(diào)出所有指令說明。
四倘潜、SQLite.exe導(dǎo)入中文的亂碼問題
導(dǎo)入文件需保存為UTF-8編碼方式绷柒。