【发布时间】:2016-08-25 13:23:24
【问题描述】:
假设我有一个包含多个列表的列表,例如:
l = [['a'],['a','b'],['c'],['d',['a','b'],'f']]
用这个:
l = [x.decode('UTF8') for x in l]
我可能会得到错误:列表对象没有属性“解码”
(从标记化文本创建的“l”列表将每个单词都设为列表对象。尝试了许多解决方案来克服解码困难,但仍然无法打印非 ascii 字符)
with open(path, "r") as myfile:
text=myfile.read()
text = word_tokenize(text)
d = [[item] if not isinstance(item, list) else item for item in text]
arr = sum(([[x[0] for x in g]] if k else list(g)
for k, g in groupby(d, key=lambda x: x[0][0].isupper())),
[])
arr = [x.decode('UTF8') for x in arr]
输入(我的文本文件):
Çanakkale çok güzel bir şehirdir. Çok beğendik.
输出:
[[u'\xc7anakkale'], [u'\xe7ok'], [u'g\xfczel'], [u'bir'], [u'\u015fehirdir'], [u'.']. [u'\xe7ok'], [u'be\u011fendik'], [u'.']]
我想要的输出是列表,但与我的输入格式完全一样。
【问题讨论】:
-
你需要保留结构吗?
-
我想我有很多非 ascii 字符,但我想用确切的结构打印它们(单词包含 ü ğ ş ı ç)
-
请提供minimal reproducible example和设计输出
标签: python utf-8 decode encode