python操作sqlite3 导入csv文件_[转载]SQLite 3导入导出成txt或csv操作
平時使用官方提供的sqlite3.exe工具來操作 sqlite的數據庫,可以在網上下到。
進入管理:
sqlite3.exe d:\\test.db //假設數據是 d:\\test.db
>.databases //顯示所有數據庫 和 mysql的 show
databases;
>.tables //顯示當前數據庫的表格 和 mysql 的show tables;
>.schment tablename; //顯示表格結構 和mysql的 SHOW CREATE
TABLE tbl_name
>.output c:\\\\1.sql //導出當前數據庫的 sql語句 和mysql的
mysqldump
>.dump
>.import c:\\\\1.sql //導入 //mysql 用source
===================
導入
命令: .import
sqlite> .import 文件名 表名
注1: 不要忘了開頭的點
注2: 這條語句不能用分號結束. 非SQL不需要分號結束.
注3: 需要查看默認的分隔符separator. 必須一致. 如果不一致可能導致sqlite字段分割錯誤.
查看分隔符使用命令 .show , 如果不一致可直接修改, 比如:
sqlite>.separator ","
將分隔符轉為逗號.
舉例1:
將文件a.txt中的數據導入表 tab_xx. (a.csv中字段以逗號分割)
sqlite> .separator ","
sqlite> .import a.txt tab_xx
sqlite>
導入結束.
導出
實現方式: 將輸出重定向至文件.
命令: .output
sqlite> .output a.txt
然后輸入sql語句, 查詢出要導的數據. 查詢后,數據不會顯示在屏幕上,而直接寫入文件.
結束后,輸入
sqlite> .output stdout
將輸出重定向至屏幕.
舉例2:
將 tab_xx 中的數據導出到文件a.txt
sqlite> .output a.txt
sqlite> select * from tab_xx;
sqlite> .output stdout
導出完畢.
如需導成csv格式,直接將文件a.txt換成a.csv即可
Sqlite數據庫導入導出與備份恢復作者:春兒
(1)數據導入
建立了Sqlite數據庫后就要建立表輸入數據了,多數時候數據量較大,手動輸入不可能,必須用導入語句
導入逗號分隔csv格式數據
首先建立一個表,比如test.db中建表test,如果表已經存在,可以利用命令".schema"查看該表結構,比如
sqlite>.schema
test,結果得到test表的結構,因為要導入的數據必須具有相似的結構,所以必須明了目標表的結構。
create table test (id int primary key,value);
比如test表具有下面的數據
1|34
2|99
3|990
4|390
另一個csv文本文件為 test.csv,內容如下:
5,560
6,78
利用“.import”命令可以導入該數據,在導入數據之前,利用“.separator
''”命令轉換sqlite默認分隔符,比如“.separator
,”這一句就將分隔符改變為逗號,與預導入數據一致才能順利導入,然后鍵入下面語句
.import test.csv test
這樣表test就多了從csv文件導入的兩行記錄,sqlite最新版本已經默認使用事件,因此海量數據導入也很輕松高效。
同樣的方法可以導入txt文本文件。
(2)數據導出
.out out.txt
select * from test;
.output stdout
以上三個語句將表test的全部內容查詢結果創建并導入了文件out.txt,最后一句是使輸出重新定位到屏幕,結束文件導出。
(3)備份數據庫
.output [filename] 導出到文件中,如果該文件不存在,則自動創建
.dump 導出數據命令
.output stdout 返回輸出到屏幕(進行其他操作)
(4)導入(恢復)數據庫
sqlite3 test.db < test.sql
這樣就將備份數據庫導入當前數據庫了。
總結
以上是生活随笔為你收集整理的python操作sqlite3 导入csv文件_[转载]SQLite 3导入导出成txt或csv操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 垂直串联六关节机器人调试手册_不止下棋能
- 下一篇: 浙商银行战旗卡怎么申请?需要什么条件