溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python_pandas實(shí)現(xiàn)excel工作表合并功能

發(fā)布時(shí)間:2020-06-21 14:37:00 來源:網(wǎng)絡(luò) 閱讀:1554 作者:qq5d4147c106bd7 欄目:編程語言
            由于工作需要整理每周項(xiàng)目成員得周報(bào),需要將很多人得excel合并到同一個(gè)文件里面。且項(xiàng)目成員過多,手動(dòng)打開每一個(gè)文件去復(fù)制內(nèi)容,就是一個(gè)大量重復(fù)性工作,且對于自己得提升毫無用處。于是產(chǎn)生了用代碼實(shí)現(xiàn)excel合并得想法。
            初學(xué)python,代碼還不夠完善,如果大家看到,請指出不足之處,謝謝!

import os,pandas as pd,re
#1.獲取文件夾下要合并的文件名
dirpath = '文件夾地址'
#工作表3特殊處理 需要開始下標(biāo)和結(jié)束下標(biāo)
begin = 231
end = 238
excel_names = os.listdir(dirpath)
#2.獲取文件內(nèi)容
sheet_1_merge = []
sheet_2_merge = []
sheet_3_merge = pd.DataFrame([0,0,0,0,0,0,0])
for excel_name in excel_names:
#絕對路徑
excel_path = dirpath+excel_name
#dropna(axis=0, how='all')行全部為空得刪除
#獲取工作表1內(nèi)容
sheet_1=pd.read_excel(excel_path, sheet_name=1, header=None)[2:][range(9)].dropna(axis=0, how='all')
sheet_1_merge.append(sheet_1)

獲取工作表2內(nèi)容

sheet_2=pd.read_excel(excel_path, sheet_name=2, header=None)[2:][range(1,7)].dropna(axis=0, how='all')
sheet_2_merge.append(sheet_2)
# 獲取工作表3內(nèi)容
sheet_3 = list(pd.read_excel(excel_path,sheet_name=3,header=None)[begin:end][1])
excel_name = re.findall('\d-(.*).xlsx', excel_name)[0]
sheet_3_merge.insert(1,excel_name,sheet_3)
print(sheet_1,'\n',sheet_2,'\n',sheet_3)

#保存合并內(nèi)容
#axis=0,ignore_index=True合并行 忽略原來的下標(biāo)
sheet_1_merge = pd.DataFrame(pd.concat(sheet_1_merge,axis=0,ignore_index=True))
sheet_2_merge = pd.DataFrame(pd.concat(sheet_2_merge,axis=0,ignore_index=True))
#columns主要是為了按照已有得排序,方便整理
sheet_3_merge = pd.DataFrame(sheet_3_merge,columns=['李1','李2,'李3','彭4','楊5','夏6',...,'杜34','葉35'])
writer = pd.ExcelWriter('C:/Users/zhuozhe/Desktop/merge.xlsx')
sheet_1_merge.to_excel(excel_writer=writer,sheet_name='merge_1')
sheet_2_merge.to_excel(excel_writer=writer,sheet_name='merge_2')
sheet_3_merge.to_excel(excel_writer=writer,sheet_name='merge_3')
writer.save()
writer.close()


合并文件包含三個(gè)工作表:完成任務(wù),下周計(jì)劃,本周工時(shí)(包含了全年的數(shù)據(jù),所以需要抽取)。

Python_pandas實(shí)現(xiàn)excel工作表合并功能
合并后得文件,如圖:

Python_pandas實(shí)現(xiàn)excel工作表合并功能
Python_pandas實(shí)現(xiàn)excel工作表合并功能

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI