spli的波兰语编码问题

2024-09-24 22:29:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用utf-8编码的波兰字符的文件。 我需要做的是玩弄文字。但使用split(“”)时,列表包含\xc5\x82或\u0142

filename = 'patient.txt'
f = open(filename, 'r')
for line in f:
    print line
    print line.split(" ")
    print unicode(line,encoding(line),errors='ignore').split(" ")
f.close()

结果:

   Pacjent lat 48 został przyjęty do Oddziału z powodu spadku tolerancji wysiłku i duszności.
['\xef\xbb\xbfPacjent', 'lat', '48', 'zosta\xc5\x82', 'przyj\xc4\x99ty', 'do', 'Oddzia\xc5\x82u', 'z', 'powodu', 'spadku', 'tolerancji', 'wysi\xc5\x82ku', 'i', 'duszno\xc5\x9bci.']
[u'Pacjent', u'lat', u'48', u'zosta\u0142', u'przyj\u0119ty', u'do', u'Oddzia\u0142u', u'z', u'powodu', u'spadku', u'tolerancji', u'wysi\u0142ku', u'i', u'duszno\u015bci.']

要在列表中包含波兰语字符,我需要做什么?有可能吗?你知道吗

问候
棘爪


Tags: line字符dosplitprintlatxc5zosta
2条回答

您的文件实际上不是UTF-8而是UTF-8-BOM。使用open(filename, 'r', encoding='utf-8-bom')

列表中已经有波兰语字符了。但是当你打印列表时,你只能看到它的表现。你知道吗

>>> print u'zosta\u0142'
został

相关问题 更多 >