【发布时间】:2015-03-24 09:52:30
【问题描述】:
许多电子表格都具有用于读写 Excel 文件的 Python 工具无法忠实再现的公式和格式。这意味着我想以编程方式创建的任何文件都必须是我基本上从头开始创建的,然后其他 Excel 文件(具有上述复杂性)必须引用该文件(这会产生各种其他依赖问题)。
我对 Excel 文件“选项卡”的理解是它们实际上只是 XML 文件的集合。那么,是否可以使用 pandas(或诸如 xlsxwriter 或 openpyxl 之类的底层读/写引擎之一来修改其中一个选项卡,而保留其他选项卡(其中包含更多邪恶的东西)完好无损?
编辑:我将尝试通过一个示例进一步阐明问题。
- Excel Sheet test.xlsx 有四个选项卡(又名工作表):Sheet1、Sheet2、Sheet3、Sheet4
- 我使用 pandas.read_excel() 将 Sheet3 读入 DataFrame(我们称之为 df)
- Sheet1 和 Sheet2 包含公式、图表和各种格式,openpyxl 和 xlrd 都无法成功解析,Sheet4 包含其他数据。我根本不想碰那些标签。
- Sheet2 实际上对 Sheet3 上的单元格有一些引用
- 我对 df 进行了一些编辑,现在想将其写回 sheet3,而其他工作表保持不变(并且工作簿中其他工作表中对它的引用保持不变)
我可以这样做吗?如果可以,怎么做?
【问题讨论】: