Python [ site-Package ] [ xlwt ] [ ValueError: cannot use LOCALE flag with a str pattern ]

在Windows 7环境下,使用Python 3.7进行Excel读写操作时遇到错误。问题源于xlwt库的一个bug,提示不能在字符串模式下使用LOCALE标志。解决方案是卸载并重新安装xlwt库,通过`pip uninstall xlwt`和`pip install xlwt`更新版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 问题情境
    win7 + python3.7 + 读写execl时报错:

  • Log
    Traceback (most recent call last):
    File “parse-excel.py”, line 4, in
    import xlwt,xlrd,sys
    File “C:\Python37\lib\site-packages\xlwt_init_.py”, line 4, in
    from .Worksheet import Worksheet
    File “C:\Python37\lib\site-packages\xlwt\Worksheet.py”, line 38, in
    from .Row import Row
    File “C:\Python37\lib\site-packages\xlwt\Row.py”, line 7, in
    from . import ExcelFormula
    File “C:\Python37\lib\site-packages\xlwt\ExcelFormula.py”, line 3, in
    from . import ExcelFormulaParser, ExcelFormulaLexer
    File “C:\Python37\lib\site-packages\xlwt\ExcelFormulaLexer.py”, line 53, in
    VERBOSE+LOCALE+IGNORECASE)
    File “C:\Python37\lib\re.py”, line 234, in compile
    return _compile(pattern, flags)
    File “C:\Python37\lib\re.py”, line 286, in _compile
    p = sre_compile.compile(pattern, flags)
    File “C:\Python37\lib\sre_compile.py”, line 764, in compile
    p = sre_parse.parse(p, flags)
    File “C:\Python37\lib\sre_parse.py”, line 940, in parse
    p.pattern.flags = fix_flags(str, p.pattern.flags)
    File “C:\Python37\lib\sre_parse.py”, line 907, in fix_flags
    raise ValueError(“cannot use LOCALE flag with a str pattern”)
    ValueError: cannot use LOCALE flag with a str pattern

  • 问题原因
    xlwt版本较低,存在bug,需更新版本

  • 解决办法
    卸载并重装xlwt

    pip uninstall xlwt
    pip install xlwt

  • Reference
    https://github.com/kennethreitz/tablib/issues/254

Traceback (most recent call last): File "C:\Users\heguijun\PyCharmMiscProject\活动查询.py", line 3, in <module> import xlwt File "C:\Users\heguijun\PyCharmMiscProject\.venv\Lib\site-packages\xlwt\__init__.py", line 4, in <module> from .Worksheet import Worksheet File "C:\Users\heguijun\PyCharmMiscProject\.venv\Lib\site-packages\xlwt\Worksheet.py", line 38, in <module> from .Row import Row File "C:\Users\heguijun\PyCharmMiscProject\.venv\Lib\site-packages\xlwt\Row.py", line 7, in <module> from . import ExcelFormula File "C:\Users\heguijun\PyCharmMiscProject\.venv\Lib\site-packages\xlwt\ExcelFormula.py", line 3, in <module> from . import ExcelFormulaParser, ExcelFormulaLexer File "C:\Users\heguijun\PyCharmMiscProject\.venv\Lib\site-packages\xlwt\ExcelFormulaLexer.py", line 51, in <module> _re = recompile( ^^^^^^^^^^ File "C:\Users\heguijun\AppData\Local\Programs\Python\Python312\Lib\re\__init__.py", line 228, in compile return _compile(pattern, flags) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\heguijun\AppData\Local\Programs\Python\Python312\Lib\re\__init__.py", line 307, in _compile p = _compiler.compile(pattern, flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\heguijun\AppData\Local\Programs\Python\Python312\Lib\re\_compiler.py", line 743, in compile p = _parser.parse(p, flags) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\heguijun\AppData\Local\Programs\Python\Python312\Lib\re\_parser.py", line 973, in parse p.state.flags = fix_flags(str, p.state.flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\heguijun\AppData\Local\Programs\Python\Python312\Lib\re\_parser.py", line 950, in fix_flags raise ValueError("cannot use LOCALE flag with a str pattern") ValueError: cannot use LOCALE flag with a str pattern
最新发布
07-21
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值