如何从sql查询返回的unicode数据中获取字符串(python、sql、wxpython)

如何从sql查询返回的unicode数据中获取字符串(python、sql、wxpython),python,sqlite,wxpython,Python,Sqlite,Wxpython,我要做的是从 cur.fetchall() 询问 我在Stack上读过一些类似类型的答案,但它们不起作用。我知道它是唯一的unicode,如果你打印数据,它会打印str,但是我使用这个查询来填充wx.choice 我使用列表理解将str附加到一个新列表中,这也不起作用。我还试图从元组中提取字符串 如何获得纯字符串列表 ['one','two','three'] 从返回的查询 [(u'one'),(u'one'),(u'three)] 所以我可以使用wx.choice,就像我确信它应该被使

我要做的是从

cur.fetchall() 
询问

我在Stack上读过一些类似类型的答案,但它们不起作用。我知道它是唯一的unicode,如果你打印数据,它会打印str,但是我使用这个查询来填充wx.choice

我使用列表理解将str附加到一个新列表中,这也不起作用。我还试图从元组中提取字符串

如何获得纯字符串列表

['one','two','three']
从返回的查询

[(u'one'),(u'one'),(u'three)]
所以我可以使用wx.choice,就像我确信它应该被使用的那样

[str(u) for u in [(u'one'),(u'one'),(u'three')]]

因此,我们要做的是在每个元素上使用函数
str
,以获得所需的
['one','two','three']

您使用的是哪个版本的wx?(
wx.version()
wx。选项
应接受unicode输入

问题可能是sql返回一个元组列表,您可能试图将元组传递给小部件。尝试使用索引访问内部字符串
[0]

[u[0] for u in [(u'one',),(u'one',),(u'three',)]`

这里的问题是,查询返回的值不同。因此,我将查询分配给一个变量。我只是在列表开始的地方插入变量名吗?稍微修改了这个公式,因为它不起作用,但添加了一个while循环,它转换了任何非类型的内容(str),工作得很好…可能比我需要的代码多,但至少起作用了。这对ascii(128)的unicode sting outusde中的任何字符都不起作用,试着这样做:
[(u“øne”,(u“†wo”,),(u“th®ee”,)]