【问题标题】:Openpyxl yields TypeError on saving file, why?Openpyxl 在保存文件时产生 TypeError,为什么?
【发布时间】:2019-12-18 16:16:13
【问题描述】:

自上次软件包更新以来,以下代码不再运行。 (这是一个例子,不幸的是我有几个脚本需要这个功能)下面的代码 sn-p 是我能想象到的最简单的例子。

当前规格: Win10 64位, Python 3.7.5 64 位, IPython 7.10.2, 康达 4.8.0, openpyxl 3.0.2


def write_to_default_excel():
    wb = Workbook()    
    wb.save('sample.xlsx')

if __name__ == "__main__":
    write_to_default_excel()

产量:

TypeError: got invalid input value of type <class 'xml.etree.ElementTree.Element'>, expected string or Element

我尝试将 openpyxl 降级到 3.0.0 或 2.6.4。但是 conda 无法解决由此产生的依赖冲突。

任何想法为什么会突然发生这种情况?我错过/忽略了什么? 你能推荐任何替代包吗?

【问题讨论】:

    标签: anaconda openpyxl python-3.7


    【解决方案1】:

    我遇到了同样的问题。这似乎是新版本 openpyxl 包的错误。您需要回滚到旧版本才能使其正常工作,或者您可以切换到 xlsxwriter 和 xlrd 包。

    查看这些帖子了解更多信息: The function to_excel of pandas generate an unexpected TypeError

    openpyxl can't save to a file

    【讨论】:

      【解决方案2】:

      之前的文章讨论了恢复到旧版本的openpyxl。我已确认使用pip 而不是conda 安装最新版本(撰写本文时为3.0.3)可以解决此问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        • 2013-09-07
        • 1970-01-01
        • 2020-10-26
        • 2012-01-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多