使用openpyxl库时:
使用Excel风格的行列地址随机访问单元格时,其内部还是从头逐个匹配,越远的单元格速度越慢,对于大表格不建议使用;
正确姿势是调用iter_rows、iter_cols方法,再去提取想要的单元格,速度飞快,比应用行列地址随机访问速度快了几个数量级。
openpyxl.utils.exceptions.IllegalCharacterError 错误
原因:
识别到非法字符都是八进制,对应到ASCII表中,都是不常见的不可显示字符。例如退格,响铃等,在此处被定义为excel中的非法字符。
解决:
(将非法字符去掉)
ILLEGAL_CHARACTERS_RE = re.compile(r'[\000-\010]|[\013-\014]|[\016-\037]')
text= ILLEGAL_CHARACTERS_RE.sub(r'', text)