摘要:
Openpyxl是一個(gè)常用的python庫,用于對(duì)Excel的常用格式及其模板進(jìn)行數(shù)據(jù)讀寫等操作。
簡介與安裝openpyxl庫
Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
安裝
pip install openpyxl
pillow:在文件中需要使用images (jpeg, png, bmp,...)時(shí),需要安裝pillow庫。
注意:寫操作時(shí)請(qǐng)關(guān)閉需要操作的excel文件,否則寫不成功
加載xlsx操作內(nèi)容
加載外部excel的xlsx步驟:
加載xlsx文件,獲得該文件的句柄,為workbook
from openpyxl import load_workbookwb2 = load_workbook('test.xlsx')print wb2.get_sheet_names()# ['Sheet2', 'New Title', 'Sheet1']
在內(nèi)存中新建workbook
創(chuàng)建 workbook
開始使用openpyxl,沒有必要在文件系統(tǒng)上創(chuàng)建一個(gè)文件。
只需要導(dǎo)入Workbook類并開始使用它。可以把wordbook想象成一個(gè)excel文件。
from openpyxl import Workbookwb = Workbook()workbook創(chuàng)建后至少至少要?jiǎng)?chuàng)建一個(gè)worksheet。使用 openpyxl.workbook.Workbook.active()ws = wb.active
該方法使用了_active_sheet_index屬性, 默認(rèn)會(huì)設(shè)置0
創(chuàng)建worksheet
使用 openpyxl.workbook.Workbook.create_sheet() 創(chuàng)建新的worksheet
ws1 = wb.create_sheet("new_sheet_1") # 新建sheet,插入到最后(默認(rèn))ws2 = wb.create_sheet("new_sheet_2", 0) # 插入到最開始的位置
指定worksheet的名稱
不指定sheet名稱時(shí),按照sheet,sheet1,sheet2自動(dòng)增長
ws3 = wb.create_sheet()
自定義worksheet名稱,通過title屬性指定名稱,設(shè)置了sheet的名稱
ws3.title = "new_sheet_3"
輸出wb現(xiàn)在所有的sheetname查看
通過 openpyxl.workbook.Workbook.sheetnames()
輸出wb現(xiàn)在所有的sheetname
print wb.get_sheet_names()print(wb.sheetnames)
循環(huán)
for sheet in wb:print(sheet.title)
指定worksheet tab按鈕的顏色
新建的sheet tab顏色為白色,可以另外指定sheet tab按鈕的顏色
ws3.sheet_properties.tabColor = "1072BA"
激活某個(gè)worksheet
通過worksheet名稱激活某個(gè)sheet使用
名稱看成workbook中的一個(gè)key
ws3 = wb["new_sheet_3"]
通過 _active_sheet_index 激活某個(gè)sheet使用
wb._active_sheet_index = 1 # 獲取第二個(gè)sheet
創(chuàng)建worksheet副本
使用 openpyxl.workbook.Workbook.copy_worksheet() 創(chuàng)建worksheet副本
source = wb.activetarget = wb.copy_worksheet(source)
只能復(fù)制cell和style。不能復(fù)制工作表之間的工作簿。
操作單元格
當(dāng)worksheet在內(nèi)存中被創(chuàng)建時(shí),是沒有包含cells的,cells是在首次訪問時(shí)創(chuàng)建
新聞熱點(diǎn)
疑難解答
圖片精選