python學習-windows下使用python27將合并多個xlsx檔案

來源:互聯網
上載者:User

標籤:python   lse   字元   append   定義   tps   and   格式   內容   

   

有時候需要處理很多報表,將一個目錄下的所有excel格式報表合并,手工操作費事費力如果能使用python,將多個.xlsx同時能夠合并多個excel表的話,多麼方便。

1、windows上python配置

windows上安裝的是python2.7,需要使用pip安裝一些第三方包,所以需要配置一下。在linux上修改Pip源很簡單,但是在windows上很麻煩,所以我就直接單次指定pip源下載包

#windows上pip執行路徑為C:\Python27\Scriptspip install -U pip -i https://pypi.douban.com/simple/ #升級pippip install -i  openpyxl #處理excel表格


2.合并多個xlsx表格

編寫指令碼,將E:\excel\目錄下所有xlsx檔案合并

#!/env/python#coding=utf-8##合并多個excel表格##import osimport globimport openpyxldef merge_xlsx_files(xlsx_files):  #定義函數合并xlsx檔案    wb = openpyxl.load_workbook(xlsx_files[0]) #調用openpyxl模組loda_workbook函數    ws = wb.active                              #擷取活躍的Worksheet    ws.title = "merged result"                  #定義工作表標題    for filename in xlsx_files[1:]:            #迴圈xlsx_files參數,擷取第一個工作表(只有一個)        workbook = openpyxl.load_workbook(filename)  #調用函數        sheet = workbook.active                   #擷取活躍的表格        for row in sheet.iter_rows(min_row=2): #遍曆其他檔案,忽略首行內容            values = [cell.value for cell in row] #迴圈擷取儲存格的值            ws.append(values)                      #將值依次添加末尾        return wb                                     #返回def get_all_xlsx_files(path):                        #定義擷取所有xlsx檔案    xlsx_files = glob.glob(os.path.join(path,'*.xlsx')) #採用glob方法指定路徑下所有.xlsx的檔案    sorted(xlsx_files,key=str.lower)                     #按照關鍵字字串小寫排序    return xlsx_filesdef main():                                        #定義主函數    xlsx_files = get_all_xlsx_files(os.path.expanduser ("E:\\excel\\")) #定義變數xlsx_files為get_all_xlsx_files函數,指定參數為指定目錄    wb = merge_xlsx_files(xlsx_files)                            #定義wb為merge_xlsx_files函數,指定參數為遍曆    wb.save('merged_form.xlsx')                                  #save方法將匯總表儲存到merged_form.xlsxif __name__ =='__main__':    main()

完成合併後如下所示


python學習-windows下使用python27將合并多個xlsx檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.