专业的编程技术博客社区

网站首页 > 博客文章 正文

pandas写excel报错IllegalCharacterError解决方案

baijin 2024-09-29 08:57:23 博客文章 197 ℃ 0 评论

今天发现 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 pd
import xlsxwriter

# 创建一个示例 DataFrame
data = {
    '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()

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表