본문 바로가기
파이썬

파이썬 SQLite와 Python-fetchone ()을 사용하여 사전을 반환합니까?

by º기록 2020. 9. 26.
반응형

파이썬 2.5에서 sqlite3를 사용하고 있습니다. 다음과 같은 테이블을 만들었습니다.

   create table votes (
      bill text,
      senator_id text,
      vote text)

다음과 같이 액세스하고 있습니다.

v_cur.execute("select * from votes")
row = v_cur.fetchone()
bill = row[0]
senator_id = row[1]
vote = row[2]

내가 할 수 있기를 원하는 것은 fetchone (또는 다른 방법)이 목록이 아닌 사전을 반환하여 위치가 아닌 이름으로 필드를 참조 할 수 있도록하는 것입니다. 예를 들면 :

bill = row['bill'] 
senator_id = row['senator_id']
vote = row['vote']

MySQL로이 작업을 수행 할 수 있다는 것을 알고 있지만 SQLite로 수행하는 방법을 아는 사람이 있습니까?

감사!!!

 

해결 방법

 

내가 과거에 한 방식 :

def dict_factory(cursor, row):
    d = {}
    for idx,col in enumerate(cursor.description):
        d[col[0]] = row[idx]
    return d

그런 다음 연결에서 설정합니다.

from pysqlite2 import dbapi2 as sqlite
conn = sqlite.connect(...)
conn.row_factory = dict_factory

이것은 pysqlite-2.4.1 및 python 2.5.4에서 작동합니다.

 

참조 페이지 https://stackoverflow.com/questions/811548

 

 

반응형

댓글