栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

计算Excel工作表而不打开它们(openpyxl或xlwt)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算Excel工作表而不打开它们(openpyxl或xlwt)

实际上,有一个使用Excel公式并使用Python对其求值的项目: Pycel。
Pycel使用Excel本身(通过COM)提取公式,因此在您的情况下,您将跳过该部分。
该项目可能有一些有用的东西可供您使用,但是我不能保证它的成熟度或完整性。
它并不是真正为普通大众开发的。


还有一个名为Koala的较新项目,该项目基于Pycel和OpenPyXL。

如果您不能使用Excel,但 可以
自己计算公式的结果(在Python代码中),另一种方法是将值和公式都写入一个单元格中(这样,当您读取文件时,可以只需拉出该值,根本不用担心公式)。在撰写本文时,我还没有在OpenPyXL中找到一种方法来做到这一点,但是XlsxWriter可以做到。从文档中:

XlsxWriter不会计算公式的值,而是将值0存储为公式结果。然后,它在XLSX文件中设置一个全局标志,说打开该文件时应重新计算所有公式和函数。这是Excel文档中建议的方法,并且通常可以与电子表格应用程序很好地配合使用。但是,不具备计算公式功能的应用程序(例如Excel
Viewer)或某些移动应用程序将仅显示0结果。

如果需要,还可以使用options值参数来指定公式的计算结果。当使用不计算公式值的非Excel应用程序时,这有时是必要的。计算出的值将添加到参数列表的末尾:

worksheet.write_formula(’A1’,’= 2 + 2’,num_format,4)

通过这种方法,当需要读取值时,可以使用OpenPyXL的

data_only
选项。(对于其他人,阅读此答案:如果您使用xlrd,则无论如何都只能使用该值。)

最后,如果您 确实
有Excel,那么您可能要做的最直接,最可靠的事情就是自动在Excel中打开和重新保存文件(以便它可以为您计算和编写公式的值)。xlwings是从Windows或Mac上执行此操作的简便方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596542.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号