今天发现 df.to_excel('输出文件.xlsx', index=False, encoding='utf-8-sig') ,如果excel 内容中存在非法字符,可能会报错的情况 raise IllegalCharacterError(f"{value} cannot be used in worksheets.") openpyxl.utils.exceptions.IllegalCharacterError: ,通过对excel内容进行编码,只保留合法字符等多项手段后依然报这个错误,最后换了xlsxwriter写excel解决了~
ailx10
网络安全优秀回答者
网络安全硕士
去咨询
以下是解决 IllegalCharacterError 错误的解决方案,注意这里写的是xls格式,尽管你名字叫xlsx
import pandas as pdimport xlsxwriter# 创建一个示例 DataFramedata = { 'Column1': ['Text with!@# illegal characters', 'Clean text123', 'More text^&* here'], 'Column2': ['Another text$% example', '1234', 'Text with() special characters']}df = pd.DataFrame(data)# 创建一个新的 Excel 文件excel_file = 'filtered_data.xlsx'# 创建一个 Excel writer 对象workbook = xlsxwriter.Workbook(excel_file)worksheet = workbook.add_worksheet()# 写入列名到 Excel 文件for col_num, value in enumerate(df.columns): worksheet.write(0, col_num, value)# 写入 DataFrame 中的数据到 Excel 文件for row_num, row_data in df.iterrows(): for col_num, value in enumerate(row_data): worksheet.write(row_num + 1, col_num, value) # +1 是因为第一行被用于列名# 保存并关闭 Excel 文件workbook.close()