【问题标题】:Python - Openpyxl - "UserWarning: Unknown extension" issuePython - Openpyxl - “用户警告:未知扩展”问题
【发布时间】:2019-03-04 05:10:36
【问题描述】:

我正在努力学习 Python(第 2 天),并希望先练习 Excel 书籍,因为这是我感到舒适/流利的地方。

运行以下代码时,我遇到了一个我无法理解的错误:

import openpyxl

wb = openpyxl.load_workbook("/Users/Scott/Desktop/Workbook1.xlsx")

print(wb.sheetnames)

这确实会按要求打印我的工作表名称,但后面是:

/Users/Scott/PycharmProjects/Excel/venv/lib/python3.7/site-packages/openpyxl/worksheet/_reader.py:293: UserWarning: Unknown extension is not supported and will be removed
  warn(msg)

我发现了其他指向切片器/条件格式等的问题,但这不适用于此处。这是我刚制作的一本书,在保存之前只添加了 3 张。它没有数据,没有格式,扩展名是有效的。我的 Excel 上也没有安装附加组件。

知道为什么我会收到此错误吗?我该如何解决?

Python:3.7
openpyxl: 2.6

【问题讨论】:

  • “并且扩展名有效”:这里,不是文件扩展名.xlsx的意思。您的工作簿具有从 Unknownopenpyxl 的扩展名。如果您觉得这是一个 BUG,请在 Bitbucket 报告。
  • 我昨天确实安装了 Python - 我没有资格认为任何东西都是错误但哈哈。那么,警告消息不是在谈论文字文件扩展名,而是在谈论其他类型的扩展名?
  • Bitbucket 上的已关闭问题是unknown-extension
  • 这不是错误,而是信息警告。
  • 现在有办法清除吗? @CharlieClark 这很烦人,因为我只是在测试,所以我几乎打印了每一行。

标签: python excel openpyxl


【解决方案1】:

我遇到了类似的问题。我开发了一个读写 Excel 文件的应用程序。它在我的 Windows 计算机上唤醒良好,但后来我尝试在朋友的 mac 上运行它。它显示了同样的错误。我可以通过更改工作簿的配置来“修复”它,如下所示:

import openpyxl as op

wb = op.load_workbook(file, read_only=True, data_only=True)

但是,如您所见,您只能使用此配置读取 Excel 文件。最后,我意识到我朋友的电脑上没有安装 Microsoft Office。安装它确实解决了我的问题。

【讨论】:

    【解决方案2】:

    这个问题是几年前提出的,但我现在在 openpyxl 中遇到了这个问题,需要修复,因为该警告对我的最终用户来说是令人困惑和误导的。

    来自 openpyxl 的警告来自 stdlib 警告库,可以被抑制。

    import warnings
    warnings.simplefilter("ignore")
    

    这就是“用锤子敲打”的方法。可以在此处找到更精细的警告抑制级别:https://docs.python.org/3/library/warnings.html

    【讨论】:

      【解决方案3】:

      这正是我刚才遇到的问题..

      就我的情况(不是所有人)我发现你只需要关闭你的excel并重新运行代码,非常简单。

      如果这不起作用,您可以参考其他答案。

      谢谢

      【讨论】:

        猜你喜欢
        • 2020-11-24
        • 2021-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多