我有一个文本文件,其中包含我无法正确处理的句子,包括表情符号
我的csv文件包含以下句子:
我是某些人,他们的文件是由cette承载的unicode-d83d\ude02
Aurelie Gouverneur对unicode-d83d\ude02unicode-d83d\ude02unicode-d83e\udd2e的评价
Mélanie Ham Même ce prendre en photo avec unicode-d83e\udd23
我的代码:
df_test=pd.read_csv("myfile.csv", sep=';',index_col=None, encoding="utf-8")
for item, row in df_test.iterrows():
print(repr(row["Message"]))
s=row["Message"]
s = re.sub(r'unicode-([0-9a-f]{4})',lambda m: chr(int(m.group(1),16)),s)
s = s.encode('utf16','surrogatepass').decode('utf16')
打印结果:
'Je suis sur que certaines personnes vont faire la file pour toucher cette borne unicode-d83d\\ude02'
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-40-e3c423a15acd> in <module>
5 s=row["Message"]
6 s = re.sub(r'unicode-([0-9a-f]{4})',lambda m: chr(int(m.group(1),16)),s)
----> 7 s = s.encode('utf16','surrogatepass').decode('utf16')
UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 162-163: illegal UTF-16 surrogate
这个问题可能与我将csv加载到数据帧时的编码有关,但我不知道如何解决这个问题
文本是Unicode转义和自定义语法的组合。这将通过捕获两个转义码的十六进制值进行解码,然后将它们格式化为一对JSON格式的代理,并让该模块转换为正确的Unicode代码点
相关问题 更多 >
编程相关推荐