0

我尝试打印 3 列:

  1. 艺术家.艺术家
  2. 歌曲.歌曲
  3. 歌曲.views

这是我的代码:

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' ,?,?]........]
4

1 回答 1

0

看起来这一行将只选择每行的第一列:

 conn.row_factory = lambda cursor, row: row[0]

试着把它拿出来,看看你是否得到了整行。

于 2020-11-29T13:48:31.500 回答