Python pandas實現(xiàn)excel工作表合并功能詳解
更新時間:2019年08月29日 08:32:39 作者:qq5d4147c106bd7
這篇文章主要介紹了Python pandas實現(xiàn)excel工作表合并功能以及相關(guān)實例代碼,需要的朋友們參考學(xué)習(xí)下。
import os,pandas as pd,re #1.獲取文件夾下要合并的文件名 dirpath = '文件夾地址' #工作表3特殊處理 需要開始下標和結(jié)束下標 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合并行 忽略原來的下標 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()
合并文件包含三個工作表:完成任務(wù),下周計劃,本周工時(包含了全年的數(shù)據(jù),所以需要抽?。?/p>
合并后得文件,如圖:
以上就是關(guān)于Python_pandas實現(xiàn)excel工作表合并功能的全部實例內(nèi)容,感謝大家的閱讀和對腳本之家的支持。
相關(guān)文章
Python實現(xiàn)內(nèi)網(wǎng)穿透和端口轉(zhuǎn)發(fā)代理詳解
這篇文章主要為大家介紹了Python實現(xiàn)內(nèi)網(wǎng)穿透和端口轉(zhuǎn)發(fā)代理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12