2024年12月5日 星期四

Python: openpyxl.utils.exceptions.IllegalCharacterError

久未更動的程式, 突然出現error:


  File "C:\Users\XXX\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\cell\cell.py", line 159, in check_string

    raise IllegalCharacterError

openpyxl.utils.exceptions.IllegalCharacterError


原因是有範圍為8進制 [\000-\010]|[\013-\014]|[\016-\037] 的字元.

查了查, 最終發現應是使用者貼資料到系統時, 字串第1個字元是 HEX 16 , 不知從哪複製來的.


治標方式:


from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE

...

v_item = ILLEGAL_CHARACTERS_RE.sub(r'', v_item)


治本, 還是要修正源頭資料.


Ref:

1.openpyxl.utils.exceptions.IllegalCharacterError报错原因及解决办法

  https://www.cnblogs.com/hengdin/p/16996512.html


2.openpyxl.utils.exceptions.IllegalCharacterError 错误原因分析及解决办法

  https://blog.csdn.net/javajiawei/article/details/97147219


3.pandas写入excel时报错openpyxl.utils.exceptions.IllegalCharacterError解决

https://blog.csdn.net/koxb/article/details/131718681



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。