2017-04-22 81 views
1

我有一個用波蘭語字符在utf-8中編碼的文件。 我需要做的是用文字玩一下。但是當我使用分裂(」「),列表中包含\ 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.'] 

什麼我需要做的,在列表中有波蘭的角色?有可能嗎?

問候
帕維爾

+0

'ł',in utf8:hex'C582';在Unicode中:'\ u0142' –

回答

2

您已經在列表中有波蘭字符。但是當你打印清單時,你只能看到它的表示。

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

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