从元组中提取元素以在python中编码

时间:2017-06-22 12:30:06

标签: list tuples python-unicode unicode-string

我有一个元组列表的列表。有unicode问题。 我一直在努力将其编码为等效字符,但我没有成功。

以下是我的代码示例:

import spaghetti as sgt
import codecs
f = codecs.open('output-data-pos', encoding='utf-8')
raw = f.read()
reviews = [raw.split()]
output_tagged = (sgt.pos_tag_sents(reviews))

以下是output_tagged产生的示例。

 [[(u'cerramos', None), (u'igual', u'aq0cs0'), (u'arrancado', None), (u'estanter\xeda', None), (u'\xe9xito', u'ncms000'), (u'an\xe9cdotas', u'ncfp000')]]

我的总体目标是从元组中提取每个值并在utf-8中对其进行编码以获得最终结果,例如

 cerramos   None
 igual  aq0cs0
 arrancado  None
 estantería None
 éxito  ncms000
 anécdotas  ncfp000

到目前为止,我尝试过的一些策略来自简单的策略:

我尝试输出列表并直接编码

d = codecs.open('output-data-tagged', 'w', encoding='utf-8')
d.write(output_tagged)

或这种方法

f = open('output-data-tagged', 'w')
for output in output_tagged:
    output.encode('utf-8')
    f.write(output)
f.close

我首先尝试映射列表然后对其进行编码:

list_of_lists = map(list, output_tagged)
print list_of_lists

我尝试编码数据的函数

def reprunicode(u):
     return reprunicode(u).decode('raw_unicode_escape')

print u'[%s]' % u', '.join([u'(%s,)' % reprunicode(ti[0]) for ti in output_tagged])

这个也是:

def utf8data(list): 
     return [item.decode('utf8') for item in list]

print utf8data(output_tagged)

考虑到我的许多试验,如何从列表列表中的元组中提取元素以获得我想要的最终编码结果?

0 个答案:

没有答案