我尝试打印3列:
这是我的代码:
conn = sqlite3.connect('utube.db')
conn.row_factory = lambda cursor, row: row[0]
c = conn.cursor()
c.execute("""Select Artists.artist, Songs.Song ,Songs.views FROM Songs
INNER JOIN Artists
ON Artists.Artist_Id = Songs.Artist_Id
""")
allsong = c.fetchall()
a = allsong
print(a)
conn.commit()
conn.close()
但是输出仅返回Artists.artist
。
['Blackpink', 'Blackpink', 'Lady gaga', 'Lady gaga', 'Lady gaga', 'The Beatles', 'The Beatles', 'Metallica', 'Frank Sinatra', 'Frank Ocean']
如何解决这个问题使其返回类似
[['Blackpink',?,?],['Blackpink',?,?],['Lady Gaga' ,?,?]........]
看起来这行将仅选择每一行的第一列:
conn.row_factory = lambda cursor, row: row[0]
尝试将其取出来,看看是否能整行都可以。