将表情符号 Unicode 字符串翻译成文本 un python
Translate to text a Emoji Unicode String un python
我有一个以 csv 格式发送的推文列表。
但是当我阅读它们时,表情符号 unicode 已被转换为 str,我无法将它们翻译成它们的真实名称(“waffle”或“heart”)。
def load_csv(csv_name):
path = os.getcwd()
df = pd.read_csv(path + "/" + csv_name, header=0, index_col=0, parse_dates=True, sep=",", encoding="utf-8")
return df
csv_name = "tweets_nikekaepernick.csv"
df = load_csv(csv_name)
text = df["tweet_full_text"].iloc[0]
text
Out[]: 'Hi <U+0001F602><U+0001F602><U+0001F480><U+0001F480><U+0001F480><U+0001F480>'
试试 demoji
。您可以在 here.
获得有关 demoji
的更多详细信息
代码
import re
import demoji
demoji.download_codes()
text = 'Hi <U+0001F602><U+0001F602><U+0001F480><U+0001F480><U+0001F480><U+0001F480>'
# changed format with regex
text_ = re.sub('\+|>','',text).replace('<','\').encode().decode('unicode-escape')
#find emoji
demoji.findall(text_)
结果
demoji.findall(text_)
Out[1]: {'': 'skull', '': 'face with tears of joy'}
更多
更多,如果你想删除表情符号,你可以试试下面的代码,它引用了:
pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
"]+", flags=re.UNICODE)
print(pattern.sub(r'', text_))
>>> Hi
或者,如果您想将表情符号翻译成 str
,您可以尝试:
import emoji
print(emoji.demojize(text_))
>>> Hi :face_with_tears_of_joy::face_with_tears_of_joy::skull::skull::skull::skull:
我有一个以 csv 格式发送的推文列表。 但是当我阅读它们时,表情符号 unicode 已被转换为 str,我无法将它们翻译成它们的真实名称(“waffle”或“heart”)。
def load_csv(csv_name):
path = os.getcwd()
df = pd.read_csv(path + "/" + csv_name, header=0, index_col=0, parse_dates=True, sep=",", encoding="utf-8")
return df
csv_name = "tweets_nikekaepernick.csv"
df = load_csv(csv_name)
text = df["tweet_full_text"].iloc[0]
text
Out[]: 'Hi <U+0001F602><U+0001F602><U+0001F480><U+0001F480><U+0001F480><U+0001F480>'
试试 demoji
。您可以在 here.
demoji
的更多详细信息
代码
import re
import demoji
demoji.download_codes()
text = 'Hi <U+0001F602><U+0001F602><U+0001F480><U+0001F480><U+0001F480><U+0001F480>'
# changed format with regex
text_ = re.sub('\+|>','',text).replace('<','\').encode().decode('unicode-escape')
#find emoji
demoji.findall(text_)
结果
demoji.findall(text_)
Out[1]: {'': 'skull', '': 'face with tears of joy'}
更多
更多,如果你想删除表情符号,你可以试试下面的代码,它引用了
pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
"]+", flags=re.UNICODE)
print(pattern.sub(r'', text_))
>>> Hi
或者,如果您想将表情符号翻译成 str
,您可以尝试:
import emoji
print(emoji.demojize(text_))
>>> Hi :face_with_tears_of_joy::face_with_tears_of_joy::skull::skull::skull::skull: