gpt4 book ai didi

python - 从 Python 中的字符串中删除转义实体

转载 作者:行者123 更新时间:2023-11-30 23:34:25 24 4
gpt4 key购买 nike

我有一个巨大的 csv 推文文件。我将它们都读入计算机,并将它们存储在两个单独的字典中 - 一本用于负面推文,另一本用于正面推文。我想读入该文件并将其解析为字典,同时删除所有标点符号。我使用过这段代码:

tweets = []
for (text, sentiment) in pos_tweets.items() + neg_tweets.items():
shortenedText = [e.lower() and e.translate(string.maketrans("",""), string.punctuation) for e in text.split() if len(e) >= 3 and not e.startswith('http')]
print shortenedText

除了一个小问题外,一切都运行良好。不幸的是,我下载的巨大 csv 文件更改了一些标点符号。我不确定这叫什么,所以无法真正用谷歌搜索它,但实际上可能会开始一些句子:

"ampampFightin"
""The truth is out there"
"&altThis is the way I feel"

有没有办法摆脱这一切?我注意到后两个以 & 符号开头 - 简单的搜索就能摆脱它(我问而不做的唯一原因是因为有太多推文需要我手动检查)

最佳答案

首先,unescape HTML entities ,然后删除标点符号:

import HTMLParser

tweets = []
for (text, sentiment) in pos_tweets.items() + neg_tweets.items():
text = HTMLParser.HTMLParser().unescape(text)
shortenedText = [e.lower() and e.translate(string.maketrans("",""), string.punctuation) for e in text.split() if len(e) >= 3 and not e.startswith('http')]
print shortenedText

以下是 unescape 工作原理的示例:

>>> import HTMLParser
>>> HTMLParser.HTMLParser().unescape(""The truth is out there")
u'"The truth is out there'

更新:UnicodeDecodeError问题的解决方案:使用text.decode('utf8')Here很好地解释了为什么需要这样做。

关于python - 从 Python 中的字符串中删除转义实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com