从文本文件中读取特殊的国家字符时,我在Python中遇到了麻烦。
with open("../Data/DKsnak.txt") as f:
content = f.readlines()
str1 = content[0]
print "string:",str1
lst1 = str1.split()
print "list:",lst1
输出如下:
string: Udtræk fra observatør på årstal
list: ['Udtr\xc3\xa6k', 'fra', 'observat\xc3\xb8r', 'p\xc3\xa5', '\xc3\xa5rstal']
第一行是预期的,包括特殊的丹麦特色。但是他们不会被分裂成一根绳子。 我尝试过使用编解码器和unicode的各种技巧,但却无法找到神奇的恶魔。
任何人都可以建议我如何将这些单词列入列表中,这样我就可以使用它们了。
祝你好运 马丁
运行: Python 2.7.5(默认,2014年2月19日,13:47:28) [gCC 4.8.2 20131212(Red Hat 4.8.2-7)] on linux2
答案 0 :(得分:2)
你的代码很好。 python
只是存储其特殊字符。如果您打印出文本,您仍会获得原始字符串:
s = 'Udtræk fra observatør på årstal'
s = s.split()
for i in s:
print i
[OUTPUT] #all fine
Udtræk
fra
observatør
på
årstal
答案 1 :(得分:2)
来自https://docs.python.org/2.7/howto/unicode.html:
import codecs
f = codecs.open('unicode.rst', encoding='utf-8')
所以你得到unicode并可以拆分。
答案 2 :(得分:1)
如前所述使用for循环,如果你想要它们在同一行:
for i in len(list1):
string += list1[i] + ' '
print(string)