我有一个元组列表的列表。有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)
考虑到我的许多试验,如何从列表列表中的元组中提取元素以获得我想要的最终编码结果?