将Unicode字符串转换为Python列表

将Unicode字符串转换为Python列表,python,list,python-2.7,unicode,Python,List,Python 2.7,Unicode,我有这个 x = "BA ( Socialogy)", "DAE ( Civil)", "MA ( Internation Relation", "BS'c" print x <type 'unicode'> 注意,x的最后一个索引有“BS'c”,在如何处理这件事之间加了引号 更新: 实际上,我试图做的是从数据库中获取所有用户的学位标题,并将其合并到一个列表中 SELECT string_agg(distinct(E'\"'||title||E'\"'), ', ') as de

我有这个

x = "BA ( Socialogy)", "DAE ( Civil)", "MA ( Internation Relation", "BS'c"
print x
<type 'unicode'>
注意,x的最后一个索引有“BS'c”,在如何处理这件事之间加了引号

更新:

实际上,我试图做的是从数据库中获取所有用户的学位标题,并将其合并到一个列表中

SELECT 
string_agg(distinct(E'\"'||title||E'\"'), ', ') as degree_titles, 
FROM education
WHERE user_id = 5
GROUP BY r.resume_id;
关于python脚本

    try:
        c = connection.cursor()
        c.execute(sql_query)
    except Exception as e:
        print e
    else:
        rows = c.fetchall()
        for row in rows:
            print row[2]
            print type(row[2])
它输出

"BA ( Socialogy)", "DAE ( Civil)", "MA ( Internation Relation", "BS'c"
<type 'unicode'>
那我就买这个

'BA ( Socialogy)', 'DAE ( Civil)', 'MA ( Internation Relation', 'BS'c'
然后,我使用此代码将其转换为列表

import ast
x = ast.literal_eval('[' + str(row[2]) + ']')

并且它给出了SyntaxError:BS'c最后一个值的语法无效

...
...
for row in rows:
        split_data = [x.strip()[1:-2] for x in row[2].split(",")]
        print split_data
        print type(split_data)

我没有收到
请检查此
>>x=“BA(社会学)”,“DAE(民事)”,“MA(国际关系)”,“BS'c”>>>打印x('BA(社会学)”,“DAE(民事)”,“MA(国际关系)”,“BS'c”)
您可能缺少一些代码部分,请给出完整的示例。这个字符串来自姿态数据库。这就是为什么它会打印Unicode给我。您想要神奇地清理空格和标点符号的代码吗?您能更具体地说明您的请求吗?@MTaqi,请给出您拥有的代码,您的代码和平无法产生你所问的:(现在变成了这个
[u“'BA(社会学)”,u“'DAE(民事)”,u“'MA(国际关系)”,u“BS'c]
import ast
x = ast.literal_eval('[' + str(row[2]) + ']')
...
...
for row in rows:
        split_data = [x.strip()[1:-2] for x in row[2].split(",")]
        print split_data
        print type(split_data)