匯總一個工作簿中的多個sheet

from openpyxl import load_workbook
from copy import copy
# 獲取workbook
wb = load_workbook('數(shù)據(jù)源假設(shè)3個表.xlsx')
# 獲取每一個worksheet
ws1 = wb['sheet1']
ws2 = wb['sheet2']
ws3 = wb['sheet3']
# 獲取每一個worksheet數(shù)據(jù)
data = []
for row in ws1.iter_rows(min_row=2):
    # temp_row = []
    # for cell in row:
    #     temp_row.append(cell.value)
    # [cell.value for cell in row]
    data.append([cell.value for cell in row])

for row in ws2.iter_rows(min_row=2):
    data.append([cell.value for cell in row])

for row in ws3.iter_rows(min_row=2):
    data.append([cell.value for cell in row])
# 合并這些數(shù)據(jù)
#獲取關(guān)鍵鍵
names = [col.value for col in ws1['A']]

# 匯總每個一個人銷量 [[],[],]
total = []
# 添加表頭
header = ['表頭1','表頭2','表頭3']
total.append(header)
# 復(fù)制單元格的樣式
font = copy(ws1['A1'].font)
border = copy(ws1['A1'].border)
fill = copy(ws1['A1'].fill)
alignment = copy(ws1['A1'].alignment)

for name in names[1:]:
    sum1 = 0
    sum2 = 0
    for row in data:
        if row[0] == name:
            # if row[1] == None:
            #     row[1] = 0
            row[1] = row[1] if row[1] else 0
            row[2] = row[2] if row[2] else 0
            sum1 += row[1]
            sum2 += row[2]
    total.append([name,sum1,sum2])

# 創(chuàng)建一個新的workseet,寫入?yún)R總后的數(shù)據(jù)
#在前面的3個sheet表的基礎(chǔ)上創(chuàng)建1個匯總的表
ws = wb.create_sheet('前面3個sheet的匯總表')
for i,row in enumerate(total):
    # 第一行header單獨處理
    if i == 0:
        for j in range(3):  # 循環(huán)復(fù)制A1,B1,C1
            ws.cell(row=1,column=j+1).value = row[j]
            ws.cell(row=1,column=j+1).font = font
            ws.cell(row=1,column=j+1).border = border
            ws.cell(row=1,column=j+1).fill = fill
            ws.cell(row=1,column=j+1).alignment = alignment
    else: # 其他行,直接賦值列表
        ws.append(row)

wb.save('新命名的工作簿.xlsx')

說明:本文章為大熊自動化辦公課程的學習筆記

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容