openpyxl.utils.exceptions.IllegalCharacterError: x21 cannot be used in worksheets. Process finished with exit code 1
时间: 2023-10-13 18:23:41 浏览: 620
这个错误是因为你在试图向 Excel 工作表中写入不允许的字符。Excel 工作表只允许 ASCII 字符集中的字符,而不允许控制字符。x21 是一个控制字符,因此不能用于工作表名称或单元格中。
你需要找出哪个变量或字符串包含了不允许的字符,并将其删除或替换为允许的字符。你可以使用正则表达式或字符串替换函数来完成这个任务。
例如,你可以使用 `re.sub()` 函数将不允许的字符替换为允许的字符:
```python
import re
import openpyxl
# 创建一个新的 Excel 工作簿
wb = openpyxl.Workbook()
ws = wb.active
# 试图向单元格中写入不允许的字符
ws['A1'] = "Hello\x21World"
# 使用正则表达式将不允许的字符替换为允许的字符
ws['A1'] = re.sub(r'[\x00-\x1f]', '', ws['A1'])
# 保存 Excel 工作簿
wb.save('example.xlsx')
```
在这个例子中,我们使用正则表达式 `r'[\x00-\x1f]'` 匹配 ASCII 控制字符并将其替换为空字符串。这将删除不允许的字符并允许你向工作表中写入数据。
阅读全文