SQLite 쿼리에서 사전 가져오기
SQLite 데이터베이스에서 데이터를 검색하려면 행에 해당하는 목록을 가져오는 작업이 포함됩니다. 설명 속성을 사용하여 열 이름을 결정할 수 있지만 결과를 사전으로 변환하려면 추가 노력이 필요합니다.
row_factory를 사용한 솔루션
row_factory 매개변수는 다음을 허용합니다. 행 반환 방법을 사용자 정의합니다. 커서와 행을 인자로 받아 사전을 반환하는 함수로 설정하면 목록 대신 사전을 얻을 수 있습니다.
import sqlite3 def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d con = sqlite3.connect(":memory:") con.row_factory = dict_factory cur = con.cursor() cur.execute("select 1 as a") print(cur.fetchone()["a"])
sqlite3.Row를 사용한 솔루션
SQLite 문서에서는 열에 대한 효율적인 이름 기반 액세스를 제공하는 sqlite3.Row 유형을 사용할 것을 권장합니다. row_factory를 sqlite3.Row로 설정하면 이름으로 열을 색인화하고 액세스할 수 있습니다.
con = sqlite3.connect(...) con.row_factory = sqlite3.Row # add this row cursor = con.cursor()
위 내용은 SQLite 쿼리에서 목록 대신 사전을 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!