簡體   English   中英

像 Openpyxl 這樣的模塊如何創建/讀取 Excel 文件

[英]How do Modules like Openpyxl create/read Excel files

tl;博士
如何使用 Python 與 Excel 交互,但不使用預定義的模塊。

我正在使用 Python 中的 Openpyxl 模塊從 Excel 讀取數據和向 Excel 寫入數據。 有一些方法在 Openpyxl 中不可用,但在 Xlsxwriter 中可用,例如行折疊(在 Openpyxl 中可以折疊列)。 所以我想讓我們看看源代碼並嘗試自己實現它。

但是我遇到的第一個問題是如何使用 Python 與 Excel 交互? 這些模塊如何從excel讀取數據和向excel寫入數據。

在較高級別上,xlsx 文件是 zip 容器中的 XML 文件的集合。 所以 xlsxwriter/openpyxl 編寫 XML 文件,然后使用 Python 標准庫 zip 模塊將它們收集到一個 xlsx 文件中。

大多數 Excel xlsx 功能被定義為 XML 元素或元素的集合。 選項被定義為元素或元素屬性。

然而,這是一個很大的問題,文件中的元素與構成集合一部分的其他文件之間存在交互。 因此,xlsxwriter/openpyxl 中的很多工作都用於確保交互正確且不會破壞其他功能。 至少這是我的經驗,這也是 xlsxwriter 有一個大型測試套件的原因,其中包含針對完整 Excel 生成文件的測試。

因此,為了擴展這些模塊之一,您需要弄清楚要添加的 XML 元素或屬性以及與其他元素/文件的交互。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM