【openpyxl】python处理excel的常用操作
生活随笔
收集整理的這篇文章主要介紹了
【openpyxl】python处理excel的常用操作
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- openpyxl
- 相關(guān)處理Excel的python庫(kù)
- openpyxl安裝
- openpyxl使用
- 基本概念
- 創(chuàng)建加載和保存
- 操作和修改
openpyxl
openpyxl是一個(gè)處理Excel文件的python庫(kù),也是python辦公自動(dòng)化的一大利器,本文主要介紹一些openpyxl的常用操作
相關(guān)處理Excel的python庫(kù)
- OpenPyXL 是個(gè)讀寫 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 庫(kù),簡(jiǎn)單易用,功能廣泛,單元格格式/圖片/表格/公式/篩選/批注/文件保護(hù)等等功能應(yīng)有盡有,圖表功能是其一大亮點(diǎn)
- xlwings 是一個(gè)基于 BSD 授權(quán)協(xié)議的 Python 庫(kù),可以輕松的使用 Python 操作 Excel,也可以在 Excel 中調(diào)用 Python,以接近 VBA 語(yǔ)法的實(shí)現(xiàn) Excel 編程,支持 Excel 宏,并且可以作為 Web 服務(wù)器,提供 REST API 接口
- pandas 數(shù)據(jù)處理是 pandas 的立身之本,Excel 作為 pandas 輸入/輸出數(shù)據(jù)的容器
- win32com 從命名上就可以看出,這是一個(gè)處理 windows 應(yīng)用的擴(kuò)展,Excel 只是該庫(kù)能實(shí)現(xiàn)的一小部分功能。該庫(kù)還支持 office 的眾多操作。需要注意的是,該庫(kù)不單獨(dú)存在,可通過安裝 pypiwin32 或者 pywin32 獲取
- Xlsxwriter 擁有豐富的特性,支持圖片/表格/圖表/篩選/格式/公式等,功能與 openpyxl 相似,優(yōu)點(diǎn)是相比 openpyxl 還支持 VBA 文件導(dǎo)入,迷你圖等功能,缺點(diǎn)是不能打開/修改已有文件,意味著使用 xlsxwriter 需要從零開始
- DataNitro 一個(gè) Excel 的付費(fèi)插件,內(nèi)嵌到 Excel 中,可完全替代 VBA,在 Excel 中使用 python 腳本。既然被稱為 Excel 中的 python,同時(shí)可以與其他 python 庫(kù)協(xié)同。
- xlutils 基于 xlrd/xlwt,老牌 python 包,算是該領(lǐng)域的先驅(qū),功能特點(diǎn)中規(guī)中矩,比較大的缺點(diǎn)是僅支持 xls 文件。
openpyxl安裝
pip install openpyxlopenpyxl使用
基本概念
- workbook 相當(dāng)于一個(gè) Excel 文件檔,每個(gè)被創(chuàng)建和打開的 Excel 文件都是獨(dú)立的 Workbook 對(duì)象
- sheet Excel 文檔中的表單,每個(gè) Excel 文檔至少需要一個(gè) sheet
- cell 單元格,是不可分割的基本數(shù)據(jù)存儲(chǔ)單元
創(chuàng)建加載和保存
from openpyxl import load_workbook,Workbook# 創(chuàng)建一個(gè) workbook wb = Workbook() # 獲取被激活的 worksheet ws = wb.active#加載已有的excel文件 wb = load_workbook('test.xlsx') ws = wb.active # 顯示文檔中包含的 表單 名稱 print(wb.sheetnames)#保存文件 wb.save("sample1.xlsx")load_workbook 除了參數(shù) filename外為還有一些有用的參數(shù):
- read_only:是否為只讀模式,對(duì)于超大型文件,要提升效率有幫助
- keep_vba :是否保留 vba 代碼,即打開 Excel 文件時(shí),開啟并保留宏
- guess_types:是否做在讀取單元格數(shù)據(jù)類型時(shí),做類型判斷
- data_only:是否將公式轉(zhuǎn)換為結(jié)果,即包含公式的單元格,是否顯示最近的計(jì)算結(jié)果
- keep_links:是否保留外部鏈接
操作和修改
from openpyxl import load_workbookwb = load_workbook('sample.xlsx')#操作sheet ws1 = wb.create_sheet("sheet") #創(chuàng)建一個(gè) sheet 名為 sheet ws1.title = "新表單" # 設(shè)置 sheet 標(biāo)題 ws2 = wb.create_sheet("mysheet", 0) # 創(chuàng)建一個(gè) sheet,插入到最前面 默認(rèn)插在后面 ws2.title = u"你好" # 設(shè)置 sheet 標(biāo)題 ws1.sheet_properties.tabColor = "1072BA" # 設(shè)置 sheet 標(biāo)簽背景色#操作單元格 # 通過單元格名稱設(shè)置 ws1["A1"]=123.11 ws1["B2"]="你好"# 通過行列坐標(biāo)設(shè)置 d = ws1.cell(row=4, column=2, value=10)# 操作單列 for cell in ws["A"]:print(cell.value) # 操作單行 for cell in ws["1"]:print(cell.value) # 操作多列 for column in ws['A:C']:for cell in column:print(cell.value) # 操作多行 for row in ws['1:3']:for cell in row:print(cell.value) # 指定范圍 for row in ws['A1:C3']:for cell in row:print(cell.value) # 所有行 for row in ws.iter_rows():for cell in row:print(cell.value) # 所有列 for column in ws.iter_cols():for cell in column:print(cell.value) # 合并 ws.merge_cells('A2:D2') # 解除合并 ws.unmerge_cells('A2:D2')ws.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4) ws.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)參考
總結(jié)
以上是生活随笔為你收集整理的【openpyxl】python处理excel的常用操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是区块链共识算法?
- 下一篇: python 使用 openpyxl 处