我想用从数据库中提取的值创建一个字典。然后创建键和值。它似乎做的一切权利,除了最后一个值,这是一个小的数字列表,如[0, 1, 1, 5]
。SQL代码是正确的。这是一个Python代码的问题
我想建立这样的字典,例如或类似的东西:
{'Minnesota-Dallas': ['NHL', 8.1, 9, '15:00', [0, 1, 1, 5],
但问题是它们没有提取列表中的所有值,而只提取了一个值,例如得到以下内容:
{'Minnesota-Dallas': ['NHL', 8.1, 9, '15:00', 5]
如您所见,5
被提取,但没有0、1、1、5。
从数据库中提取的项是row[0]
作为键,然后值是row[1], row[2], row[3], row[4], row[5]
。我遇到麻烦的值(应该提取[0,1,1,5]的值)是row[5]
。谢谢!
我试了这个代码:
x = cursor_test.execute('''SELECT Next.team_home||"-"||Next.team_away,
Next.championship, Next.date, Next.current_round, Next.clock,
Results.score_home
FROM Next
INNER JOIN Results
ON Next.team_home = Results.team_home;''')
test = {}
for row in x.fetchall():
test[row[0]] = [row[i] for i in range(1, 6)]
环路内的print(row)
显示:
('Minnesota-Dallas', 'NHL', 8.1, 9, '15:00', 0)
('Minnesota-Dallas', 'NHL', 8.1, 9, '15:00', 1)
('Minnesota-Dallas', 'NHL', 8.1, 9, '15:00', 1)
('Minnesota-Dallas', 'NHL', 8.1, 9, '15:00', 5)
...
1条答案
按热度按时间dsekswqp1#
因此,关于
row
的输出,您的表不包含记录但是N条记录,对于N个值如果列表结束
如果这不是您想要存储数据的格式,请修复该格式(您拥有的代码将正常工作)
如果您修复了格式,则会改进代码
实际数据格式的解决方案