当前位置: 首页 > 面试题库 >

通过熊猫导入时,openpyxl模块不具有属性“ __version__”

姜嘉赐
2023-03-14
问题内容

我从奔跑的熊猫回溯到:
site-packages\pandas\io\excel.py line 58, in get_writer AttributeError: 'module' object has no attribute '__version__'

我在PyInstaller存储库https://github.com/pyinstaller/pyinstaller/issues/1890中找到了与git问题相关的链接,
并找到了我的openpyxl版本,将其手动添加到get_writer方法中,如下所示:

def get_writer(engine_name):
    if engine_name == 'openpyxl':
        try:
            import openpyxl
            #remove when conda update available
            openpyxl.__version__ = '2.3.2'
            # with version-less openpyxl engine
            # make sure we make the intelligent choice for the user
            if LooseVersion(openpyxl.__version__) < '2.0.0':
                return _writers['openpyxl1']
            elif LooseVersion(openpyxl.__version__) < '2.2.0':
                return _writers['openpyxl20']
            else:
                return _writers['openpyxl22']
        except ImportError:
            # fall through to normal exception handling below
            pass

    try:
        return _writers[engine_name]
    except KeyError:
        raise ValueError("No Excel writer '%s'" % engine_name)

仍然没有骰子。错误回溯中给出的行号甚至都不会改变。然后,我将openpyxl版本更新为2.3.5,仍然收到错误。openpyxl 初始化
文件中包含一个 版本 变量:

try:
    here = os.path.abspath(os.path.dirname(__file__))
    src_file = os.path.join(here, ".constants.json")
    with open(src_file) as src:
        constants = json.load(src)
        __author__ = constants['__author__']
        __author_email__ = constants["__author_email__"]
        __license__ = constants["__license__"]
        __maintainer_email__ = constants["__maintainer_email__"]
        __url__ = constants["__url__"]
        __version__ = constants["__version__"]
except IOError:
    # packaged
    pass

有任何已知或潜在的修复程序或解决方法吗?


问题答案:

编辑不会产生影响,因为该过程已编译为这些模块运行所通过的exe。将我需要的部分导出到anaconda环境之外,现在该过程可以顺利进行了。



 类似资料:
  • 好的,我刚刚开始学习python。我使用py魅力当前写的代码。我只是不明白我是如何安装模块的。例如,我希望加载excel文件。我已经看到可以使用熊猫或openpyxl,但我不知道如何访问这些模块。我在网上看到的所有视频只需键入安装openpyxl或pip安装熊猫。“安装”在我的窗口上不是一个有效的功能。其他功能出现突出显示之前,我完成它们和安装似乎是不认识,一旦执行我得到一个语法错误的安装。安装前

  • 问题内容: 使用Pandas或CSV模块将每行具有不同列数的CSV导入Pandas DataFrame的最佳方法是什么。 使用此代码: 产生以下错误 问题答案: 在read_csv()中提供列名列表应该可以解决问题。 例如:names = [‘a’,’b’,’c’,’d’,’e’] https://github.com/pydata/pandas/issues/2981 编辑:如果您不想提供列名,

  • 我在这里和这里发现了关于同一问题的几个问题 我得到以下错误: 我尝试卸载和重新安装熊猫版本1.1.3, 1.1.2, 1.1.1和他们都不工作,我只是得到了同样的错误,然后我试图建立熊猫以下方式: 我还是会犯同样的错误

  • 我不能进口熊猫 我试着胡闹,但这个错误没有改变。我已经更新了模块以及pip和python! 这是该命令的完整回溯。 我目前使用python 3.6.6(从官方网站下载) pip版本:18.1在windows 10笔记本电脑上运行!!

  • 问题内容: 我正在尝试过滤出包含产品列表的数据框。但是,我遇到了熊猫-每当我运行代码时,“ dataframe”对象都没有属性“ str”错误。 这是代码行: 如果有人有任何建议的想法,请告诉我。我已经搜索了很多次,而且非常困惑。 产品是对象数据类型。 编辑: 这是头: 编辑2:这是print(data),A是产品。当我将其打印出来时,看起来好像A不在类别产品下。 问题答案: 答案很简单: 改变成

  • 问题内容: 我注意到我今天想解释的东西很奇怪。我不是100%不确定如何将其表达为一个问题,所以google是不可能的。由于某些奇怪的原因,日志记录模块无权访问模块logging.handlers。如果您不相信我,请自己尝试: 谁能解释为什么会这样? 问题答案: 在Python中,需要先导入模块,然后才能对其进行访问。仅导入日志记录模块。碰巧这是一个带有子模块的软件包,但是那些子模块仍然不会自动加载