Python/Python ETC
Python openpyxl : ILLEGAL_CHARACTERS (python to_excel illegal character error)
CosmosProject
2025. 4. 24. 22:05
728x90
반응형
Python으로 데이터를 다루거나 특히 pandas의 to_excel로 엑셀 파일을 생성할 때 illegal character error가 발생할 때가 있습니다.
이는 DataFrame의 어딘가에 illegal character가 포함되어있기 때문이라 이를 제거해주어야 합니다.
from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE
...
df.loc[:, 'col1'] = df.apply(
lambda row: ILLEGAL_CHARACTERS_RE.sub(r'', row['col1']),
axis=1
)
illegal character는 위처럼 openpyxl library의 ILLEGAL_CHARACTERS_RE method를 이용하여 특정 column에 존재하는 illegal character를 제거할 수 있습니다.
(단순
from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE
val_text = 'asidfhasuehfojw4098wjfois'
val_text = ILLEGAL_CHARACTERS_RE.sub(r'', val_text)
print(val_text)
ILLEGAL_CHARACTERS_RE method는 위처럼 일반 텍스트에도 적용할 수 있습니다.
FYI
만약 pandas에서 to_excel을 사용하는 경우에 한해서라면 ILLEGAL_CHARACTERS_RE를 사용하지 않고 xlsxwriter library를 설치해도 해결되는 경우가 있습니다.
728x90
반응형