我有一个数据库行,作为一个例子,将名称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
最终,当我将这些值导入我的数据库时,我需要重温一下这是什么,但在那之前我能做些什么吗?
答案 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)
我希望这有助于解决您的问题。