1. 程式人生 > 其它 >33 個 Python 自動化辦公庫

33 個 Python 自動化辦公庫

本次內容涵蓋了Excel、Word、PPT、ODF、PDF、郵件、檔案處理等所有能在辦公場景實現自動化的庫,希望能夠對大家有所幫助。

Python

Excel自動化庫

// 1.xlwings 庫
官網:
https://www.xlwings.org/

特點:xlwings 是開源且免費的,預裝了 Anaconda 和 WinPython,可在 Windows 和 macOS 上執行。通過 Python 指令碼或 Jupyter notebook 自動化 Excel,通過巨集從 Excel 呼叫 Python,並編寫使用者定義的函式(UDF 僅適用於 Windows)

// 2.openpyxl 庫
官網:

https://openpyxl.readthedocs.io

特點:openpyxl 是一個用於讀取 / 編寫 Excel 2010 xlsx/xlsm/xltx/xltm 檔案的 Python 庫。它是由於缺乏從 Python 中讀取 / 編寫 Office Open XML 格式的現有庫而誕生的。

// 3.xlrd 庫
官網:
https://pypi.python.org/pypi/xlrd

特點:在 python 中,xlrd 庫是一個很常用的讀取 excel 檔案的庫,其對 excel 檔案的讀取可以實現比較精細的控制。

// 4.xlwt 庫
官網:
https://pypi.org/project/xlwt/

特點:類比於 xlrd 的 reader,那麼 xlwt 就相對於 writer,而且很純正的一點就是它只能對 Excel 進行寫操作。xlwt 和 xlrd 不光名字像,連很多函式和操作格式也是完全相同。

// 5.xlutils 庫
官網:
https://pypi.org/project/xlutils/

特點:xlutils(excel utilities)是一個提供了許多操作修改 excel 檔案方法的庫。xlutils 庫也僅僅是通過複製一個副本進行操作後儲存一個新檔案,xlutils 庫就像是 xlrd 庫和 xlwt 庫之間的一座橋樑,因此,xlutils 庫是依賴於 xlrd 和 xlwt 兩個庫的。

// 6.xlsxwriter 庫
官網:
https://xlsxwriter.readthedocs.io/

特點:xlsxwriter 是用於建立 Excel XLSX 檔案的 Python 模組,可用於將文字、數字、公式和超連結寫入 Excel2007 + XLSX 檔案中的多個工作表。它支援格式化等功能。可以說除了 Excel 本身,就屬這個功能最齊全了。

// 7.pandas 庫
官網:
https://www.pypandas.cn/docs/

特點:pandas 是基於 NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。

// 8.Marmir 庫
官網:
https://github.com/brianray/mm

特點:Marmir 採用 Python 資料結構並將其轉換為電子表格。它是類固醇上的 xlwt 和 google 電子表格。目標是使用最少的配置輕鬆生成多種型別的有用表文件。

Python

Word自動化庫

// 9.python-docx 庫
官網:
https://python-docx.readthedocs.io/en/latest/

特點:python-docx 是一個用於建立和更新 Microsoft Word (.docx) 檔案的 Python 庫。快速開始、處理文件、處理文字、使用截面、使用頁首和頁尾、API基礎理、解樣式、使用樣式理解圖片和其他形狀。只對 windows 平臺有效。

// 10.textract 庫
官網:
https://gitee.com/mirrors/textract

特點:它同時兼顧 “doc” 和 “docx”,但安裝過程需要一些依賴。你可以批量的用 python 生成 word 檔案,推薦使用 docx,不需要會太多。

Python

PPT自動化庫

// 11.python-pptx 庫
官網:
https://python-pptx.readthedocs.io

特點:python-pptx 是一個用於建立和更新 PowerPoint (.pptx) 檔案的 Python 庫。典型用途是從資料庫內容生成自定義 PowerPoint 簡報,可通過單擊 Web 應用程式中的連結下載。

Python

ODF自動化庫

// 12.Relatorio 庫
官網:
https://pypi.org/project/relatorio/

特點:Relatorio 是一個模板庫,它提供了一種輕鬆輸出多種檔案(odt、ods、png、svg 等)的方法。通過為它們建立外掛可以輕鬆新增對更多檔案型別的支援。Relatorio 還提供了一個報告儲存庫,允許您將 python 物件和報告連結在一起,按 mimetype/name/python 物件查詢報告。ODF:開放文件格式(外文名:OpenDocument Format,外語簡稱:ODF)是一種規範,基於 XML(標準通用標記語言的子集)的檔案格式,因應試算表、圖表、演示稿和文書處理檔案等電子檔案而設定。

Python

PDF自動化庫

// 13.PyPDF2 庫
官網:
https://github.com/mstamy2/PyPDF2

特點:PyPDF2 是一個純 Python PDF 庫,能夠拆分、合併、裁剪和轉換 PDF 檔案的頁面。它還可以向 PDF 檔案新增自定義資料、檢視選項和密碼。它可以從 PDF 中檢索文字和元資料,也可以將整個檔案合併在一起。

// 14.ReportLab 庫
官網:
https://www.reportlab.com/opensource/

特點:ReportLab 是久經考驗、超強大的開源引擎,用於建立複雜的、資料驅動的 PDF 文件和自定義向量圖形。它是免費的、開源的,並且是用 Python 編寫的。

// 15.PDFminer 庫
官網:
https://github.com/euske/pdfminer

特點:PDFMiner 是一款用於 PDF 文件的文字提取工具。

Python

郵件自動化庫

// 16.Django Celery SES 庫
官網:
https://github.com/StreetVoice/django-celery-ses

特點:這個包提供了一個 EmailBackend 來利用 django-celery 傳送電子郵件。您可以將 EmailBackend 插入您的專案中,而無需對程式碼進行任何修改。

// 17.Envelopes 庫
官網:
http://tomekwojcik.github.io/envelopes/

特點:Envelopes 是 Python 的電子郵件和 smtplib 模組的包裝器。它旨在使在 Python 中處理外發電子郵件變得簡單而有趣。

// 18.Flanker 庫
官網:
https://github.com/mailgun/flanker

特點:由 mailgun 開源的 Flanker - email address and MIME parsing for Python 是一個解析高效、容錯率不錯的 python 第三方擴充套件庫。python 3 也可以正常使用,該庫包含了郵件地址解析和郵件 mime 格式解析。

// 19.imbox 庫
官網:
https://github.com/martinrusev/imbox

特點:用於讀取 IMAP 郵箱並將電子郵件內容轉換為機器可讀資料的 Python 庫

// 20.inbox.py 庫
官網:
https://github.com/billzhong/inbox.py

特點:這是您見過的最簡單的 SMTP 伺服器。它是非同步的。一個例項每秒應該處理一千多封電子郵件。

// 21.sync-engine 庫
官網:
https://github.com/nylas/sync-engine

特點:Nylas 同步引擎在強大的電子郵件同步平臺之上提供了一個 RESTful API,可以輕鬆地在電子郵件之上構建應用程式。

// 22.Lamson 庫
官網:
https://github.com/zedshaw/lamson

特點:Lamson 是一個純 Python SMTP 伺服器,旨在以現代 Web 框架(如 Django)的風格建立強大而複雜的郵件應用程式。

// 23.Marrow Mailer 庫
官網:
https://github.com/marrow/mailer

特點:Marrow Mailer 是一個 Python 庫,可以輕鬆地從您的應用程式傳送電子郵件。通過使用 Marrow Mailer,您可以:輕鬆構建純文字和 HTML 電子郵件;提高電子郵件傳遞的可測試性;使用不同的郵件投遞管理策略;例如立即,延遲,甚至多伺服器等。

// 24.Modoboa 庫
官網:
https://github.com/modoboa/modoboa

特點:Modoboa 是一個郵件託管和管理平臺,包括一個現代和簡化的 Web 使用者介面。它提供了有用的元件,例如管理面板或網路郵件。

// 25.smtplib 庫
官網:
https://docs.python.org/zh-cn/3/library/smtplib.html

特點:smtplib 模組是 python 中 smtp (簡單郵件傳輸協議) 的客戶端實現。我們可以使用 smtplib 模組,輕鬆的傳送電子郵件。

Python

檔案處理自動化庫

// 26.os 庫
官網:
https://docs.python.org/zh-cn/3/library/os.html?highlight=os#module-os

特點:本模組提供了一種使用與作業系統相關的功能的便捷式途徑。如果你只是想讀寫一個檔案,請參閱 open(),如果你想操作檔案路徑,請參閱 os.path 模組,如果你想讀取通過命令列給出的所有檔案中的所有行,請參閱 fileinput 模組。為了建立臨時檔案和目錄,請參閱 tempfile 模組,對於高階檔案和目錄處理,請參閱 shutil 模組。

Python

綜合功能自動化庫

// 27.win32com 庫
官網:
https://pypi.org/project/pywin32/

特點:win32com 模組主要為 Python 提供呼叫 windows 底層元件對 word 、Excel、PPT 等進行操作的功能,只能在 Windows 環境下使用,並且需要安裝 office 相關軟體才行(WPS 也行)。

// 28.unoconv 庫
官網:
https://github.com/unoconv/unoconv

特點:是一個命令列工具,可以將 LibreOffice 可以匯入的任何文件格式轉換為 LibreOffice 可以匯出的任何文件格式。它利用 LibreOffice 的 UNO 繫結進行文件的非互動式轉換,也支援 OpenOffice。

// 29.Tablib 庫
官網:
https://www.osgeo.cn/tablib/

特點:Python tablib 模組是第三方模組,主要作用是將資料匯出為各種不同的格式,包括 excel,json,html,yaml,csv,tsv 等格式,怎麼樣,有點心動了吧,當然這個模組使用起來也是超級簡單的。

// 30.SnowNLP 庫
官網:
https://github.com/isnowfy/snownlp

特點:SnowNLP 是一個 python 寫的類庫,可以方便的處理中文文字內容,是受到了 TextBlob 的啟發而寫的,由於現在大部分的自然語言處理庫基本都是針對英文的,於是寫了一個方便處理中文的類庫,並且和 TextBlob 不同的是,這裡沒有用 NLTK,所有的演算法都是自己實現的,並且自帶了一些訓練好的字典。注意本程式都是處理的 unicode 編碼,所以使用時請自行 decode 成 unicode。

// 31.TextBlob 庫
官網:
https://textblob.readthedocs.io

特點:TextBlob 是一個用於處理文字資料的 Python(2 和 3)庫。它提供了一個簡單的 API,用於深入研究常見的自然語言處理 (NLP) 任務,例如詞性標註、名詞短語提取、情感分析、分類、翻譯等。

// 32.TextGrocery 庫
官網:
https://textgrocery.readthedocs.io

特點:TextGrocery 是一個基於 LibLinear 和結巴分詞的短文字分類工具,特點是高效易用,同時支援中文和英文語料。

// 33.NumPy 庫
官網:
https://www.numpy.org.cn/

特點:NumPy 是 Python 中科學計算的基礎包。它是一個 Python 庫,提供多維陣列物件,各種派生物件(如掩碼陣列和矩陣),以及用於陣列快速操作的各種 API,有包括數學、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅立葉變換、基本線性代數,基本統計運算和隨機模擬等等。