Python讀取SQLite檔案資料

來源:互聯網
上載者:User

標籤:ice   long   tor   lib   ast   安裝   readlines   rar   image   

  近日在做項目時,意外聽說有一種SQLite的資料庫,相比自己之前使用的SQL Service甚是輕便,在對資料完整性、並發性要求不高的情境下可以嘗試!  1、SQLite簡介:  SQLite是一個進程內的庫,實現了自給自足的、無伺服器的、零配置的、事務性的 SQL 資料庫引擎。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它(如安卓系統),它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Python、C#、PHP、Java等,還有ODBC介面。  SQLite引擎不是一個“程式與之通訊”的獨立進程,而是串連到程式中成為它的一個主要部分。所以主要的通訊協定是在程式設計語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個資料庫(定義、表、索引和資料本身)都在宿主主機上儲存在一個單一的檔案中。它的簡單的設計是通過在開始一個事務的時候鎖定整個資料檔案而完成的。  2、SQLite檔案管理:  SQLite檔案的尾碼是.db,可以使用SQLite 資料庫的管理工具查看其內容,比如SQLiteStudio是一款 Sqlite資料庫視覺化檢視,是使用Sqlite資料庫開發應用的必備軟體,軟體無需安裝,下載後解壓即可使用。  是一個簡單的工程樣本,ARPA資料儲存在SQLite庫中,定義了一個ARPAInfo表,該表具有ID、Time和ARPA三個欄位,其中資料Tab中可以看到儲存在檔案中的資料,SQLite的嵌入式資料庫的便於使用性可以加快應用程式的開發,並使得小型應用程式能夠完全支援複雜的SQL,所以沒有必要使用文字檔來實現持久儲存。   3、Python讀取SQLite檔案  SQLite3 可使用 sqlite3 模組與 Python 進行整合。sqlite3 模組是由 Gerhard Haring 編寫的。它提供了一個與 PEP 249 描述的 DB-API 2.0 規範相容的 SQL 介面。您不需要單獨安裝該模組,因為 Python 2.5.x 以上版本預設內建了該模組。為了使用 sqlite3 模組,您首先必須建立一個表示資料庫的連線物件,然後您可以有選擇地建立游標對象,這將協助您執行所有的 SQL 陳述式。  關於Python sqlite3 模組 API的介紹,可以在以下連結查看。 http://www.runoob.com/sqlite/sqlite-python.html (中文)和 https://docs.python.org/2/library/sqlite3.html (英文)。  最新代碼可以查看本人Github: https://github.com/wylloong/TinyPrograms/blob/master/AccessSQLitebyPython***********************************  程式碼範例:
# -*- coding:utf8 -*-‘‘‘Author:Wang YanlongDate: 2017-08-16All rights reserved.Distributed under the BSD license.References:    https://docs.python.org/2/library/sqlite3.html  (English)    http://www.runoob.com/sqlite/sqlite-python.html (Chinese)‘‘‘import sqlite3 as db# 從SQLite檔案中讀取資料def readFronSqllite(db_path,exectCmd):    conn = db.connect(db_path)  # 該 API 開啟一個到 SQLite 資料庫檔案 database 的連結,如果資料庫成功開啟,則返回一個連線物件    cursor=conn.cursor()        # 該常式建立一個 cursor,將在 Python 資料庫編程中用到。    conn.row_factory=db.Row     # 可訪問列資訊    cursor.execute(exectCmd)    #該常式執行一個 SQL 陳述式    rows=cursor.fetchall()      #該常式擷取查詢結果集中所有(剩餘)的行,返回一個列表。當沒有可用的行時,則返回一個空的列表。    return rows    #print(rows[0][2]) # 選擇某一列資料# 解析ARPA 單幀資訊def readfromAppaFrame(ARPAFrame):    subARPA=ARPAFrame.split(‘,‘)    print(subARPA)if __name__=="__main__":    rows=readFronSqllite(‘E://ARPA.db‘,"select ARPA from ARPAInfo")    readLines=10010    lineIndex=10000    while lineIndex<readLines:        row=rows[lineIndex] # 擷取某一行的資料,類型是tuple        content="".join(row) #tuple轉字串        readfromAppaFrame(content) # 解析ARPA資料        lineIndex+=1

***************************************

  程式運行結果樣本:

Python讀取SQLite檔案資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.