从sqlite行中提取单个值

时间:2018-03-05 13:27:57

标签: python sqlite

我在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']

2 个答案:

答案 0 :(得分: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']

输出将是:

tsc

答案 1 :(得分:-1)

  

列表是一个值的集合,因此您在lista_tags中附加值,以便获得所有值

for i in tags: lista_tags.append(i)

  

如果你想通过使用" key"来访问它们来获得单个值。   lista_tags[1]   它会给你单一的价值