我有以下 python 代码将处理后的单词写入 excel 文件。字数约7729 From openpyxl import * book=Workbook () sheet=book.active sheet.title="test" for x in range (7729): sheet.cell (row=1,column=x+1).value=x book.save ('test.xlsx') 这是我使用的代码的样子,但是当我运行它时,它给了我一个错误,说 openpyxl.utils.exceptions.IllegalCharacterError 这是我第一次使用这个模块,我将不胜感激任何帮助。 原文由 EHM 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个: 这段代码对我有用。 from openpyxl import * book=Workbook () sheet=book.active sheet.title="test" x = 0 with open("temp.txt") as myfile : text = myfile.readline() while text !="": sheet.cell (row=1,column=x+1).value=str(text).encode("ascii",errors="ignore") text = myfile.readline() book.save ('test.xlsx') 原文由 toheedNiaz 发布,翻译遵循 CC BY-SA 3.0 许可协议
openpyxl 自带非法字符正则表达式,供你使用。假设您很乐意简单地删除这些字符,您可以这样做: import re from openpyxl.cell.cell import ILLEGAL_CHARACTERS_RE from openpyxl import * book=Workbook () sheet=book.active sheet.title="test" for x in range (7729): sheet.cell (row=1,column=x+1).value = ILLEGAL_CHARACTERS_RE.sub(r'',x) book.save ('test.xlsx') 为了加快速度,您可以将原始单元格值分配放在 try/except 中,并且仅在捕获 openpyxl.utils.exceptions.IllegalCharacterError 时运行重新替换。