본문 바로가기

Data Engineering/Language

[Python] Python에서 Emoji를 text로 바꾸는 Code

Emoji Remove

Python code에서 Emoji를 찾아 제거하는 방법을 작성한다.

정규표현식(Regular Expressions)

re.compile은 패턴 객체를 반환하는 메서드

!pip install emoji

import emoji
import re

emoji_pattern = re.compile("["
                           u"\U0001F600-\U0001F64F"  # 이모지 아스키코드
                           u"\U0001F300-\U0001F5FF"  # 기호 및 그림 문자
                           u"\U0001F680-\U0001F6FF"  # 교통 및 지도 기호
                           u"\U0001F700-\U0001F77F"  # 알파벳 표현을 다양한 스타일로 표현
                           u"\U0001F780-\U0001F7FF"  # 도형과 모양 포함
                           u"\U0001F800-\U0001F8FF"  # 다양한 방향 화살표 스타일
                           u"\U0001F900-\U0001F9FF"  # 기호 및 그림 문자 확장
                           u"\U0001FA00-\U0001FA6F"  # 체스 기호
                           u"\U0001FA70-\U0001FAFF"  # 기호 및 그림 문자 더 확장
                           u"\U00002702-\U000027B0"  # 디자인 장식기호
                           u"\U000024C2-\U0001F251"  # 디자인이나 장식기호 확장
                           "]+", flags=re.UNICODE)
# 각 text에서 이모티콘을 찾고, 이모티콘 행 인덱스를 찾아서 emoji_li에 append

emoji_li = []
for index, row in df.iterrows():
    text = row['text']
    emojis = re.findall(emoji_pattern, text)
    if emojis:
        rows_with_emojis.append(index)

emoji_li

# 이모지 텍스트로 변경
import emoji
def transemoji(text):
    text_with_emojis = emoji.demojize(text)
    return text_with_emojis
for i in tqdm(range(len(fake['text']))):
    fake['text'][i] = transemoji(fake['text'][i])

반응형