第一步,創建workbook和sheet
from openpyxl import Workbook wb=Workbook() wb.create_sheet(index=1,title="sheet2") wb.save('test1.xlsx')
創建成功,workbook 名稱=test1,有sheet 和sheet2兩張表
第二步,批量創建多個sheet
from openpyxl import Workbook from openpyxl import load_workbook wb=load_workbook('test1.xlsx') for i in range(3): wb.create_sheet(index=1,title="sheet"+str(i)) wb.save('test1.xlsx')
創建成功
第二步*-刪除 index=1對比結果
第三步,在第一個sheet寫入數據rom openpyxl import Workbookfrom openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl import load_workbook
wb=load_workbook('test1.xlsx') sheets=wb.worksheets #獲取當前所有的sheet ws=wb.active ws['A1']='class' ws['B1']='name' ws['c1'].value='score' # ws.cell(row=1,colum=1)='class' # ws.cell(1,2).value='name' # ws.cell(1,3).value='score' row1=['class1','SC001','TC001'] row2=['class2','SC002','TC002'] row3=['class3','SC003','TC003'] row4=['class4','SC004','TC004'] ws.append(row1) ws.append(row2) ws.append(row3) ws.append(row4)
#循環寫法
#for i in range(1,6):
#row=[]
#row.append('class'+str(i))
#row.append('SC'+str("%03d"%i)) #數字前補充00對齊,三位數
#row.append('TC'+str("%03d"%i))
#ws.append(row)
wb.save('test1.xlsx')
運行結果
第四步,根據固定名稱批量創建sheet
當前的表格數據
from openpyxl import Workbook from openpyxl import load_workbook wb=load_workbook('test1.xlsx') sheets=wb.worksheets #獲取當前所有的sheet #獲取某列的值 col1=[] for col in sheets[0]['B']: col1.append(col.value) col2=col1[1:] #去除第一行的字段 print(col2) # 批量新增sheetB for i in range(len(col2)): wb.create_sheet(title=col2[i]) wb.save('test1.xlsx')
運行完成后的表格