我将用户的电子邮件存储在数据库中,如下所示。
['abc@gmai.com','abc@gmail.com','abc@gmail.com']
我必须逐个收到所有用户的每封电子邮件。查询后我写了下面的代码。
cur.execute("sql query")
rows = cur.fetchall()
for row in rows:
print row[2]
print type(row[2])
emails = json.loads(json.dumps(row[2]))
print type(emails)
<type 'str'>
<type 'unicode'>
它将其转换为Unicode而不是列表。
答案 0 :(得分:2)
您的row[2]
是一个字符串。要将其转换为列表,您可以使用ast.literal_eval
:
In [29]: text = "['abc@gmai.com','abc@gmail.com','abc@gmail.com']"
In [30]: import ast
In [31]: ast.literal_eval(text)
Out[31]: ['abc@gmai.com', 'abc@gmail.com', 'abc@gmail.com']
In [32]: type(ast.literal_eval(text))
Out[32]: list