从sqlite行中提取单个值

问题描述 投票:0回答:2

我在sqlite3 db中有一个列。此列包含单个条目的一个或多个值。

src

我说的是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']
python sqlite
2个回答
0
投票

假设你的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']

-1
投票

List是值的集合,因此您在lista_tags中追加值,这样您就可以获得所有价值

for i in tags: lista_tags.append(i)

如果你想通过使用“key”lista_tags[1]访问它们来获得单个值,它将为您提供单一值

© www.soinside.com 2019 - 2024. All rights reserved.