超實用!整理了34個Python自動化辦公庫!
超實用!整理了34個Python自動化辦公庫!
資料來源:
https://mp.weixin.qq.com/s/lANr4UVa0hLFAEq1xBRfbQ
本次內容涵蓋了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.Python wxpy 庫
官網:
https://wxpy.readthedocs.io/zh/latest/
特點:微信機器人/可能是最優雅的微信個人號API,wxpy 在 itchat 的基礎上,通過大量介面優化提升了模組的易用性,並進行豐富的功能擴展。
Python 檔處理自動化庫
//
27.os 庫
官網:
https://docs.python.org/zh-cn/3/library/os.html?highlight=os#module-os
特點:本模組提供了一種使用與作業系統相關的功能的便捷式途徑。如果你只是想讀寫一個檔,請參閱 open(),如果你想操作檔路徑,請參閱 os.path 模組,如果你想讀取通過命令列給出的所有檔中的所有行,請參閱 fileinput 模組。為了創建暫存檔案和目錄,請參閱 tempfile 模組,對於高級檔和目錄處理,請參閱 shutil 模組。
Python 綜合功能自動化庫
//
28.win32com 庫
官網:
https://pypi.org/project/pywin32/
特點:win32com 模組主要為 Python 提供調用 windows 底層元件對 word 、Excel、PPT 等進行操作的功能,只能在 Windows 環境下使用,並且需要安裝 office 相關軟體才行(WPS 也行)。
//
29.unoconv 庫
官網:
https://github.com/unoconv/unoconv
特點:是一個命令列工具,可以將 LibreOffice 可以導入的任何文檔格式轉換為 LibreOffice 可以匯出的任何文檔格式。它利用 LibreOffice 的 UNO 綁定進行文檔的非互動式轉換,也支持 OpenOffice。
//
30.Tablib 庫
官網:
https://www.osgeo.cn/tablib/
特點:Python tablib 模組是協力廠商模組,主要作用是將資料匯出為各種不同的格式,包括 excel,json,html,yaml,csv,tsv 等格式,怎麼樣,有點心動了吧,當然這個模組使用起來也是超級簡單的。
//
31.SnowNLP 庫
官網:
https://github.com/isnowfy/snownlp
特點:SnowNLP 是一個 python 寫的類庫,可以方便的處理中文文本內容,是受到了 TextBlob 的啟發而寫的,由於現在大部分的自然語言處理庫基本都是針對英文的,於是寫了一個方便處理中文的類庫,並且和 TextBlob 不同的是,這裡沒有用 NLTK,所有的演算法都是自己實現的,並且自帶了一些訓練好的字典。注意本程式都是處理的 unicode 編碼,所以使用時請自行 decode 成 unicode。
//
32.TextBlob 庫
官網:
https://textblob.readthedocs.io
特點:TextBlob 是一個用於處理文本資料的 Python(2 和 3)庫。它提供了一個簡單的 API,用於深入研究常見的自然語言處理 (NLP) 任務,例如詞性標注、名詞短語提取、情感分析、分類、翻譯等。
//
33.TextGrocery 庫
官網:
https://textgrocery.readthedocs.io
特點:TextGrocery 是一個基於 LibLinear 和結巴分詞的短文本分類工具,特點是高效易用,同時支援中文和英文語料。
//
34.NumPy 庫
官網:
https://www.numpy.org.cn/
特點:NumPy 是 Python 中科學計算的基礎包。它是一個 Python 庫,提供多維陣列物件,各種派生物件(如遮罩陣列和矩陣),以及用於陣列快速操作的各種 API,有包括數學、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅立葉轉換、基本線性代數,基本統計運算和隨機模擬等等。
One thought on “超實用!整理了34個Python自動化辦公庫!”
一文瞭解30+Python自動化辦公工具庫
資料來源: https://mp.weixin.qq.com/s/U1Cnqp5yYTVUFzE9qK_xMQ
辦公自動化是Python的一大應用方向,也是很多小夥伴學習Python的目的。今天就給大家分享一份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.Python wxpy 庫
官網:
https://wxpy.readthedocs.io/zh/latest/
特點:微信機器人/可能是最優雅的微信個人號API,wxpy 在 itchat 的基礎上,通過大量介面優化提升了模組的易用性,並進行豐富的功能擴展。
Python
檔處理自動化庫
// 27.os 庫
官網:
https://docs.python.org/zh-cn/3/library/os.html?highlight=os#module-os
特點:本模組提供了一種使用與作業系統相關的功能的便捷式途徑。如果你只是想讀寫一個檔,請參閱 open(),如果你想操作檔路徑,請參閱 os.path 模組,如果你想讀取通過命令列給出的所有檔中的所有行,請參閱 fileinput 模組。為了創建暫存檔案和目錄,請參閱 tempfile 模組,對於高級檔和目錄處理,請參閱 shutil 模組。
Python
綜合功能自動化庫
// 28.win32com 庫
官網:
https://pypi.org/project/pywin32/
特點:win32com 模組主要為 Python 提供調用 windows 底層元件對 word 、Excel、PPT 等進行操作的功能,只能在 Windows 環境下使用,並且需要安裝 office 相關軟體才行(WPS 也行)。
// 29.unoconv 庫
官網:
https://github.com/unoconv/unoconv
特點:是一個命令列工具,可以將 LibreOffice 可以導入的任何文檔格式轉換為 LibreOffice 可以匯出的任何文檔格式。它利用 LibreOffice 的 UNO 綁定進行文檔的非互動式轉換,也支持 OpenOffice。
// 30.Tablib 庫
官網:
https://www.osgeo.cn/tablib/
特點:Python tablib 模組是協力廠商模組,主要作用是將資料匯出為各種不同的格式,包括 excel,json,html,yaml,csv,tsv 等格式,怎麼樣,有點心動了吧,當然這個模組使用起來也是超級簡單的。
// 31.SnowNLP 庫
官網:
https://github.com/isnowfy/snownlp
特點:SnowNLP 是一個 python 寫的類庫,可以方便的處理中文文本內容,是受到了 TextBlob 的啟發而寫的,由於現在大部分的自然語言處理庫基本都是針對英文的,於是寫了一個方便處理中文的類庫,並且和 TextBlob 不同的是,這裡沒有用 NLTK,所有的演算法都是自己實現的,並且自帶了一些訓練好的字典。注意本程式都是處理的 unicode 編碼,所以使用時請自行 decode 成 unicode。
// 32.TextBlob 庫
官網:
https://textblob.readthedocs.io
特點:TextBlob 是一個用於處理文本資料的 Python(2 和 3)庫。它提供了一個簡單的 API,用於深入研究常見的自然語言處理 (NLP) 任務,例如詞性標注、名詞短語提取、情感分析、分類、翻譯等。
// 33.TextGrocery 庫
官網:
https://textgrocery.readthedocs.io
特點:TextGrocery 是一個基於 LibLinear 和結巴分詞的短文本分類工具,特點是高效易用,同時支援中文和英文語料。
// 34.NumPy 庫
官網:
https://www.numpy.org.cn/
特點:NumPy 是 Python 中科學計算的基礎包。它是一個 Python 庫,提供多維陣列物件,各種派生物件(如遮罩陣列和矩陣),以及用於陣列快速操作的各種 API,有包括數學、邏輯、形狀操作、排序、選擇、輸入輸出、離散傅立葉轉換、基本線性代數,基本統計運算和隨機模擬等等。