针对不同场景的Python合并多个Excel方法
大家好,我是辰哥~
在辰哥看來(lái),技術(shù)能夠減少繁瑣工作帶來(lái)的枯燥,技術(shù)+實(shí)際=方便。最近辰哥也是在弄excel文件的時(shí)候發(fā)現(xiàn)手動(dòng)去整理有點(diǎn)繁瑣枯燥,想著技術(shù)可以代替我去處理這部分繁瑣的工作那何樂而不為呢~~~
三種場(chǎng)景:
多個(gè)同字段的excel文件合并成一個(gè)excel
多個(gè)不同字段的excel文件拼接成一個(gè)excel
一個(gè)excel的多個(gè)sheet合并成一個(gè)sheet
辰哥目前想到的僅是辰哥遇到的這三種情況(如果還有很多其他情況的,歡迎在下方留言,因?yàn)槌礁缛粘7墙?jīng)常涉及多種excel處理的內(nèi)容,所以想不到其他情況)
01 合并多個(gè)同字段的excel
這里辰哥先新建三個(gè)excel文件:11.xlsx;12.xlsx;13.xlsx;并往里填充數(shù)據(jù),數(shù)據(jù)如下:
11.xlsx
12.xlsx
13.xlsx
需求:將這三個(gè)excel文件合并到一個(gè)excel中。
導(dǎo)入庫(kù)
# 讀取模塊 import xlrd # 寫入模塊 import xlwt這里需要用到兩個(gè)庫(kù):xlrd讀取excel; xlwt寫入到合并的excel;
# 文件列表 xlxs_list = ["1/11.xlsx","1/12.xlsx","1/13.xlsx"] # 創(chuàng)建合并后的文件 workbook = xlwt.Workbook(encoding='ascii') worksheet = workbook.add_sheet('Sheet1')定義合并哪些excel文件,以及合并后的excel
# 行數(shù) count = 0 #表頭(只寫入第一個(gè)xlsx的表頭) bt = 0 for name in xlxs_list:wb = xlrd.open_workbook(name)#按工作簿定位工作表sh = wb.sheet_by_name('Sheet1')#遍歷excel,打印所有數(shù)據(jù)if count>1:bt=1for i in range(bt,sh.nrows):k = sh.row_values(i)# 遍歷每一行中的每一列for j in range(0,len(k)):worksheet.write(count,j, label=str(k[j]))count = count +1 workbook.save('1/合并1_辰哥.xlsx')最后合并到:**合并1_辰哥.xlsx??**中,其結(jié)果如下:
02 拼接多個(gè)不同字段的excel
新建三個(gè)excel文件:21.xlsx;22.xlsx;23.xlsx;并往里填充數(shù)據(jù)
21.xlsx
22.xlsx
23.xlsx
將這三個(gè)excel文件拼接帶一個(gè)excel中(從左往右)
# 列數(shù) col = 0 for name in xlxs_list:wb = xlrd.open_workbook(name)#按工作簿定位工作表sh = wb.sheet_by_name('Sheet1')#遍歷excel,打印所有數(shù)據(jù)for i in range(0,sh.nrows):k = sh.row_values(i)# 遍歷每一行中的每一列for j in range(0,len(k)):worksheet.write(i,col+j, label=str(k[j]))col = col +len(k) workbook.save('2/合并2_辰哥.xlsx')最后合并到:**合并2_辰哥.xlsx??**中,其結(jié)果如下:
03 合并一個(gè)excel的多個(gè)sheet
新建一個(gè)excel文件:31.xlsx;并新增sheet1、sheet2、sheet3,往里填充數(shù)據(jù)
sheet1
sheet2
sheet3
將同一個(gè)excel文件中的這三個(gè)sheet并到一個(gè)sheet中。
sheet_list = ['Sheet1','Sheet2','Sheet3'] # 行數(shù) count = 0 # 表頭(只寫入第一個(gè)xlsx的表頭) bt = 0 for st in sheet_list:#按工作簿定位工作表sh = wb.sheet_by_name(st)#遍歷excel,打印所有數(shù)據(jù)if count > 1:bt = 1for i in range(bt, sh.nrows):k = sh.row_values(i)# 遍歷每一行中的每一列for j in range(0, len(k)):worksheet.write(count, j, label=str(k[j]))count = count + 1 workbook.save('3/合并3_辰哥.xlsx')最后合并到:合并3_辰哥.xlsx 中,其結(jié)果如下:
04 小結(jié)
目前想到的僅是辰哥遇到的這三種情況(如果還有很多其他情況的,歡迎在下方留言,因?yàn)槌礁缛粘2⒎墙?jīng)常涉及多種excel處理的內(nèi)容,所以想不到其他情況)
總結(jié)
以上是生活随笔為你收集整理的针对不同场景的Python合并多个Excel方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业信息安全类证书有哪些?
- 下一篇: 小程序防抖功能