我正在处理大量收到的电子邮件,其中许多都有各种表情。我计划对用户评论应用NLP分析,并训练分类器提供相关答案,而不是手动回复数百条此类消息。作为第一步,我解析了所有电子邮件,并将其内容保存在一个名为userMessages
的列表中,该列表是我在csv文件中编写的。我计划在csv中添加更多的列用于分析目的,例如用户名、地址、日期和时间,但这与现在的问题无关
下面是我用来将userMessages
列表写入名为user-messages.csv
的csv文件的代码:
with open('user-messages.csv', 'wb') as myfile:
wr = csv.writer(myfile, dialect='excel', encoding='utf-8', quoting=csv.QUOTE_ALL)
for _msg in userMessages:
wr.writerow([_msg])
这不会因为encoding='utf-8'
参数而出错,但是,它会删除/重新编码表情符号,使其不再可追溯,例如采用以下格式:ðŸ˜
。理想情况下,我希望csv文件中有原始的unicode代码,例如'\U0001f604'
(张嘴微笑的脸和微笑的眼睛),然后用这些代码的(近似)含义替换NLP,以便更好地理解消息的上下文,例如在这个字符('\U0001f604'
)的情况下,删除代码并添加“微笑”或“快乐”字样
这能实现吗?还是我把事情搞得太复杂了?如有任何建议,将不胜感激。谢谢大家!
编辑:我正在使用Windows,并在Microsoft Excel 2016中打开csv文件
我真的鼓励现在就用它们的含义替换这些Unicode字符,而不是将Unicode保留为字符串(这可以通过添加转义字符
\
并在以后转换来完成)使用
unicodedata.name()
方法可以轻松地将Unicode替换为其含义,如下所示:让我们测试一下这个函数:
现在,让我们看看如何在代码中使用此方法:
相关问题 更多 >
编程相关推荐