【发布时间】:2019-06-29 09:32:37
【问题描述】:
当我尝试使用时:
df[df.columns.difference(['pos', 'neu', 'neg', 'new_description'])].to_csv('sentiment_data.csv')
我得到错误:
UnicodeEncodeError: 'utf-8' codec can't encode character '\ud83d' in position 388: surrogates not allowed
我不明白这个错误的含义以及如何修复这个错误并将我的数据导出到 csv/excel。我已经提到了这个question,但我不太了解,它也没有回答如何用 pandas 做到这一点。
388位是什么意思? '\ud83d'这个字符是什么?
当我尝试导出到 excel 时,我得到一个不同的错误位置:
df[df.columns.difference(['pos', 'neu', 'neg', 'new_description'])].to_excel('sentiment_data_new.xlsx')
导出到 excel 时出错:
UnicodeEncodeError: 'utf-8' codec can't encode character '\ud83d' in position 261: surrogates not allowed
为什么编码相同,位置不一样?
其他重复的问题没有回答如何使用 pandas DataFrame 转义此错误。
【问题讨论】:
-
代码点 D83D 是代理对的第一个元素,第二个元素几乎可以肯定在表情符号范围 DE00–DE4F 中。假设这对中的第二个是 DE04。然后他们一起为代码点 1F604 笑脸张开嘴和微笑的眼睛 ????.
-
试试编码参数,默认是None
-
您能否以某种方式本地化,您的数据框中的哪些文本会出现此错误?如果我们能在您的数据框中看到导致此错误的行,这将非常有帮助
-
@Teoretic 我知道错误在 131086,因为我的数据帧被写入到 csv 中的前一行。当我尝试打印这一行时,我得到了同样的错误。 :{
标签: python python-3.x pandas