Python實作Sqlite將欄位當作索引進行查詢的方法

WBOY
發布: 2016-08-04 08:55:39
原創
1922 人瀏覽過

本文實例講述了Python實作Sqlite將欄位當作索引進行查詢的方法。分享給大家參考,具體如下:

預設從sqlite中獲取到的資料是數字索引的, 在開發階段經常有修改資料庫所以顯得不太方便, 其實在python源碼裡就有解決方案, 直接讀sqlite3的源碼, 摸索了一些, 解決方案如下:

預設連接的話使用一下代碼是以數字為索引的:

conn = sqlite3.connect(dbfile)
cur = conn.cursor()

登入後複製

為了使得獲取到的結果集以字段為索引, 需要添加一個函數和一個類別:

def dict_factory(cursor, row):
  d = {}
  for idx, col in enumerate(cursor.description):
    d[col[0]] = row[idx]
  return d
class MyCursor(sqlite3.Cursor):
  def __init__(self, *args, **kwargs):
    sqlite3.Cursor.__init__(self, *args, **kwargs)
    self.row_factory = dict_factory

登入後複製

然後修改連接的程式碼:

conn = sqlite3.connect(dbfile)
cur = conn.cursor(factory=MyCursor)

登入後複製

之後讀取出來的便是以字段為索引的了.

更多關於Python相關內容有興趣的讀者可查看本站專題:《Python常見資料庫操作技巧總結》、《Python資料結構與演算法教學》、《Python Socket程式設計技巧總結》、《Python函數使用技巧總結》 、《Python字串操作技巧彙整》、《Python入門與進階經典教學》及《Python檔與目錄操作技巧總覽》

希望本文所述對大家Python程式設計有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!