【问题标题】:XLRDError: Excel xlsx file; not supported DatabricksXLRDError:Excel xlsx 文件;不支持 Databricks
【发布时间】:2021-11-18 19:52:46
【问题描述】:

我正在使用 Azure Databricks 并尝试读取 Excel 文件。我有一个带有.xlsx.pgp 的加密文件。解密消息后,我将其作为字节数组获取。所以,这是我用来将该文件作为 pandas 数据框读取的函数:

df = pd.read_excel(BytesIO(orig))

但是,这给了我以下错误:

XLRDError: Excel xlsx file; not supported

现在,基于this 文档:

我已将 openpyxl 添加到集群中,然后尝试运行以下命令:

df = pd.read_excel(BytesIO(orig),engine=`openpyxl`)

我收到了错误:

global name 'openpyxl' is not defined

使用以下命令,我得到:

df = pd.read_excel(BytesIO(orig),engine='openpyxl')

我得到的错误是:

ValueError: Unknown engine: openpyxl

我该如何解决这个问题?

感谢大家的帮助!

【问题讨论】:

    标签: python excel pandas databricks azure-databricks


    【解决方案1】:

    错误提示,openpyxl 库没有正确安装。也可能笔记本不在 openpyxl 库的范围内。

    请将openpyxl安装在笔记本上的集群中,如下图所示:

    步骤 1: 选择集群并点击库。

    第二步:点击安装新建。

    接下来点击 PyPI。

    现在输入 openpyxl 库的名称

    然后点击安装。

    第三步:检查openpyxl库的安装状态。

    Step4:成功安装openpyxl库。


    编辑 -

    注意 - pandas 版本应为 1.0.1 或以上。

    如果pandas版本低于1.0.1,可以使用pip install pandas升级pandas库

    使用pd.__version__ 命令检查 pandas 版本。

    有关更多信息,您可以参考来自 rama-a 的 answer

    【讨论】:

    • 我已经这样做了,但仍然面临同样的问题。我还发现 pandas 的版本是 0.19.2 而 xlrd 的版本是 2.0.1 所以也许这就是 openpyxl 不起作用的原因。
    • @jukebox,我已经更新了答案,请检查。
    • 非常感谢,这对我帮助很大!
    猜你喜欢
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2022-09-29
    • 2022-08-14
    • 2021-09-27
    • 2019-12-03
    • 1970-01-01
    相关资源
    最近更新 更多