当我尝试从unicode编码Melt_0
时,使用:
mp = Melt_0.encode('utf-8').strip()
mp
最终成为:
¬ネメ123.37ᅡᅠᅡᄚC; ¬ネメ190.07ᅡᅠᅡᄚF; 149.78ᅡᅠK
我可以通过以下方式轻松解决此问题:
import re
re.sub(r'[^\w.]+', ' ', mp)
我得到了:
123.37 C 190.07 F 149.78 K
唯一的问题是¬
应该是-
,当我将所有非字母数字输出时,它会被删除。如何保留-
s?
答案 0 :(得分:1)
您需要先纠正导致数据损坏的早期步骤,而不是编码:
>>> u'¬ネメ'
u'\uffe2\uff88\uff92'
>>> '\xe2\x88\x92'.decode('utf-8')
u'\u2212'
>>> print u'\u2212'
−
>>> unicodedata.name(u'\u2212')
'MINUS SIGN'
>>> u'ᅡᅠᅡᄚ'
u'\uffc2\uffa0\uffc2\uffb0'
>>> '\xc2\xa0\xc2\xb0'.decode('utf-8')
u'\xa0\xb0'
>>> print u'\xa0\xb0'
°
>>> unicodedata.name(u'\xb0')
'DEGREE SIGN'