我在sqlite3 db中有一个列。此列包含单个条目的一个或多个值。
我说的是tags
专栏。我想要做的是将它们作为单个元素提取。所以我开发了这段代码:
import sqlite3
db = sqlite3.connect('db\\archivio')
db.row_factory = lambda cursor, row: row[0]
c = db.cursor()
tags = c.execute("SELECT tags from documenti").fetchall()
lista_tags = []
for i in tags:
lista_tags.append(i)
#user_tag = input('Insert tag to search for: ')
for val in lista_tags:
print(val)
结果如下:
hansel, gretel
cappuccetto, rosso, lupo
signore, anelli, gollum
blade,runner
pinocchio
incredibili
问题是我无法逐个将它们添加到列表中。如果你打印lista_tags
这是输出:
['hansel, gretel', 'cappuccetto, rosso, lupo', 'signore, anelli, gollum', 'blade,runner', 'pinocchio', 'incredibili']
如何在列表中的单个值中添加这组值?
['hansel', 'gretel', 'cappuccetto', 'rosso', 'lupo', 'signore', 'anelli', 'gollum', 'blade','runner', 'pinocchio', 'incredibili']
假设你的tags = ['hansel, gretel', 'cappuccetto, rosso, lupo', 'signore, anelli, gollum', 'blade,runner', 'pinocchio', 'incredibili']
之后你的fetchall()
你可以用这个达到你的结果:
lista_tags = []
for entry in tags:
lista_tags += entry.split(",")
输出将是:
['hansel', ' gretel', 'cappuccetto', ' rosso', ' lupo', 'signore', ' anelli', ' gollum', 'blade', 'runner', 'pinocchio', 'incredibili']
List是值的集合,因此您在
lista_tags
中追加值,这样您就可以获得所有价值
for i in tags:
lista_tags.append(i)
如果你想通过使用“key”
lista_tags[1]
访问它们来获得单个值,它将为您提供单一值