簡體   English   中英

如何在Python 3中解決創建SQL Lite數據庫並為第一行名稱和年齡打印十六進制的Traceback錯誤?

[英]How to I resolve the Traceback error for creating SQL Lite database and printing a hex for first row name&age in python 3?

嘗試在Python中創建SQL數據庫並插入一些基本數據,然后在數據庫中返回名稱/年齡的第一行的十六進制值,然后在python中進行打印,但始終收到元組錯誤。

謝謝

import sqlite3

conn = sqlite3.connect('Exercise_Ages.sqlite')
cur = conn.cursor()

cur.execute('''DROP TABLE IF EXISTS Ages''')

cur.executescript('''CREATE TABLE Ages (name VARCHAR(128), age INTEGER);
DELETE FROM Ages;
INSERT INTO Ages (name, age) VALUES ('Trudie', 18);
INSERT INTO Ages (name, age) VALUES ('Marley', 26);
INSERT INTO Ages (name, age) VALUES ('Elshan', 17);
INSERT INTO Ages (name, age) VALUES ('Reese', 32);
INSERT INTO Ages (name, age) VALUES ('Lex', 31);
INSERT INTO Ages (name, age) VALUES ('Briagha', 16);''')

conn.commit()

sqlstr = 'SELECT hex(name || age) AS name FROM Ages ORDER BY age DESC LIMIT 10'


for row in cur.execute(sqlstr):
    print(str(row[0]), row[1])

cur.close()
Traceback (most recent call last):

File "<ipython-input-63-ddbebe584cc3>", line 22, in <module>
    print(str(row[0]), row[1])

IndexError: tuple index out of range

SELECT hex(name || age) AS name FROM Ages為每一行檢索一列,並且您也嘗試使用以下命令打印第二列:

print(str(row[0]), row[1])

只需執行以下操作:

print(str(row[0]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM