1
を引っ張って、私は非常に単純なタスクを達成しようとしている:SQLiteの のPython SQLite3の:希望繰り返し行をフェッチするが、コードは他のすべての行に
- をテーブル内の単一の列を照会し、各列タブ作成する
コード引き戻す:
import sqlite3
sqlite_file = '/Users/User/Desktop/DB.sqlite'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
c.execute('''CREATE TABLE ListIDTable(ID numeric, Day numeric, Month
numeric, MonthTxt text, Year numeric, ListID text, Quantity text)''')
values_to_insert = [
(1,16,7,"Jul",2015,"XXXXXXX1","Q2"),
(2,16,7,"Jul",2015,"XXXXXXX2","Q2"),
(3,14,7,"Jul",2015,"XXXXXXX3","Q1"),
(4,14,7,"Jul",2015,"XXXXXXX4","Q1")] #Entries continue similarly
c.executemany("INSERT INTO ListIdTable (ID, Day, Month, MonthTxt,
Year, ListID, Quantity) values (?,?,?,?,?,?,?)", values_to_insert)
conn.commit()
conn.close()
SQLite DBブラウザでこのテーブルを見ると、すべてが正常に見えます。
はここで、上記の表試してみて、照会に私のコードです:私は1、2、3、4 のプリントアウトを取得する必要があります
import sqlite3
sqlite_file = '/Users/User/Desktop/DB.sqlite'
conn = sqlite3.connect(sqlite_file)
conn.row_factory = sqlite3.Row
c = conn.cursor()
for row in c.execute('select * from ListIDTable'):
r = c.fetchone()
ID = r['ID']
print (ID)
をしかし、私は2を取得し、4
私のコードは実際にテーブルに100のエントリをアップロードしますが、私が照会すると、私は偶数(つまり2,4,6,8など)のIDプリントアウトしか取得しません。
これを修正するためのアドバイスありがとうございます。