openpyxl.utils.exceptions.illegalcharactererror pandas to excel

openpyxl.utils.exceptions.IllegalCharacterError 是在使用 openpyxl 这个 Python 库将数据写入 Excel 文件时可能会遇到的异常。它通常表示你尝试写入的数据中含有 Excel 不允许使用的字符。

在使用 pandas 将数据写入 Excel 文件时,可以尝试使用 pandas.DataFrame.to_excel() 方法的 escape_strings 参数来转义这些字符。例如:

df.to_excel("output.xlsx", escape_strings=True)

这个参数默认值为 True,因此通常情况下不需要显式地设置。如果你仍然遇到这个错误,可以尝试使用 pandas.DataFrame.applymap() 方法来清除数据中的非法字符,例如:

import re
def clean_string(s):
    return re.sub(r'[^\x00-\x7F]+', '', s)
df = df.applymap(clean_string)

上面的代码会删除所有数据中的非 ASCII 字符,但是你也可以根据需要自定义过滤规则。希望这些建议能帮到你。

  •