標籤: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檔案