许多电子表格都有公式和格式,用于读取和写入Excel文件的Python工具无法忠实再现.这意味着我想以编程方式创建的任何文件必须是我从头开始创建的东西,然后其他Excel文件(具有上述复杂性)必须引用该文件(这会产生各种其他依赖性问题).
我对Excel文件'tabs'的理解是它们实际上只是XML文件的集合.那么,是否可以使用pandas(或其中一个底层读/写引擎,如xlsxwriter或openpyxl来修改其中一个选项卡,其他选项卡(其中有更多邪恶的东西)完好无损?
编辑:我将尝试通过一个例子进一步阐述问题.
我可以这样做,如果是这样,怎么样?
因为我需要解析然后使用单元格中的实际数据,所以我openpyxl用data_only = True.
事实证明,这非常有用。但是,现在同样需要在单元格中包含公式的 xlsm,当我保存更改时,保存的版本中缺少公式。
是data_only = True和公式相互排斥?如果没有,如何在保存时访问单元格中的实际值而不会丢失公式?
当我说我丢失了公式时,似乎公式的结果(总和、串联等)得到了保留。但是当单击单元格时不再显示实际的公式本身。
更新:
为了确认公式是否被保留,我重新打开了保存的 xlsm,这次data_only左为False. 我检查了value使用公式构建的单元格的 。如果保留了公式,打开将 data_only 设置为 False 的 xlsm 应该会返回公式。但它返回实际的文本值(这不是我想要的)。