python XLS2XXLSX:没有名为“货币符号”的模块

wn9m85ua  于 2022-12-10  发布在  Python
关注(0)|答案(2)|浏览(139)

我尝试使用xls2xlsx模块将多个.xls文件转换为.xlsx,但收到以下错误消息:
模块未找到错误:没有名为'currency-symbols'的模块
代码:

import os
from xls2xlsx import XLS2XLSX
path = r'./ammcfiles'
p = os.listdir(path)
for f in p:
    if f.endswith('.xlsx'):
        x2x = XLS2XLSX(f)
        x2x.to_xlsx(f)

我尝试pip安装模块,但它没有解决问题。
我的Python版本是3.10.4。

kzmpq1sx

kzmpq1sx1#

注意:更多的堆栈跟踪有助于查看完整的问题。
使用Python 3.6开发并运行的脚本也有类似的问题。
在Python 3.10中运行脚本返回以下错误:
回溯(最近的呼叫排在最后):
文件“/lib/python3.10/site-packages/xls 2xlsx/htmlxls2xlsx.py”,第37行,位于
将货币符号.常量作为货币符号常量导入
模块未找到错误:没有名为'currency_symbols.constants'的模块
在处理上述异常的过程中,发生了另一个异常:
回溯(最近的呼叫排在最后):
文件“/script/./script.py“,第20行,在从xls 2xlsx导入XLS 2XLSX中
文件“/lib/python3.10/site-packages/xls 2xlsx/init.py”的第3行,位于
从.htmlxls2xlsx导入HTMLXLS 2XLSX
文件“/lib/python3.10/site-packages/xls 2xlsx/htmlxls2xlsx.py”,第40行,位于
文件“/usr/lib/python3.10/importlib/init.py”,第126行,在导入模块中返回 Bootstrap 。_gcd_import(名称[级别:],包,级别)
模块未找到错误:没有名为'currency-symbols'的模块

调查

确保已安装软件包

python -m pip install xls2xlsx currency-symbols

<virtual env>/lib/python3.10/site-packages/xls2xlsx/htmlxls2xlsx.py的第36-40行

try:
  import currency_symbols.constants as currency_symbols_constants
except Exception:
  import importlib
  currency_symbols_constants = importlib.import_module('currency-symbols.constants')

这段代码似乎负责加载currency-symbols模块,而不管Python版本如何,也不管模块版本如何。
因此,由于两次导入尝试都失败,所以收到了原始错误。
<virtual env>/lib/python3.10/site-packages/currency_symbols/包含文件_constants.py而不是constants.py
请注意,文件夹是currency_symbols而不是currency-symbols,下划线(_)与破折号(-)。因此,htmlxls2xlsx.py使用新的currency-symbols模块名称currency_symbols,而不是constants子模块_constants的新名称

修复

编辑htmlxls2xlsx.py以使用_constants.py try:导入货币符号.常量作为货币符号常量
这将修复导入和使用问题。

6rqinv9w

6rqinv9w2#

正如Yuli L提到的,在www.example.com里面htmlxls2xlsx.py,这是在xls2xlsx模块目录下我发现:

import currency_symbols.constants as currency_symbols_constants

更改人(注意拼写错误):

import currency_symbols._constants as currency_symbols_constants

相关问题