是否可以使用Python分离从SQLite3 Row中提取的多个值?

时间:2016-01-21 06:31:34

标签: python sqlite

我有一个数据库行,作为一个例子,将名称Mike链接到描述金发,简短,眼镜。目前,如果我要运行person.description,它打印出来像这样:

" ""blonde""", 'short', 'glasses',

是否可以将这些值分开并消除额外的'' s?以下是我尝试过的一些事情:

    for i in person:
        for j in i['description']:
            print j

这将逐字符地返回每个描述性字词:

" 
"
"
b
l
o
n
d
e
"
"
"
,

接下来我尝试了:

for i in plugins:
    print i['sets_kb_item']

这返回:

" ""blonde""",  'short',  'glasses', 

我也试过这个,只是为了获得幸运:

    for i in person:
        for j in i:
            print j['description']

但这给了我一个TypeError:

TypeError: 'int' object has no attribute '__getitem__'

以下是我正在查询的sqlite数据库中的一行示例:

Name:        Description:
Mike         'blonde', "" """"short"""""",  'glasses',"

以下是我使用的查询:

 cur = db.execute("select * from person where description like ?", (query,))

我的最终目标是输出打印类似于:

的输出
Name: Mike
- blonde
- short
- glasses

最终,当我将这些值导入我的数据库时,我需要重温一下这是什么,但在那之前我能做些什么吗?

1 个答案:

答案 0 :(得分:1)

假设你有一个变量:

a = "\"\"blonde\"\""

现在当你打印它时,你会看到这个

""blonde""

要删除多余的'"',我就这样做,

b=a.strip('\"')
print(b)

这将打印:

blond

分开',' ,你应该拆分,

c=a.split(',')

c将成为数组:

['blonde', 'short', 'glasses']

这为您提供了一个包含元素的数组,现在您可以进行任何所需的处理。

因此,考虑到a是您的输入字符串,总代码看起来有点像这样:

a=a.strip('\"').split(',')
for x in a:
  print(a)

我希望这有助于解决您的问题。