主頁 > 知識(shí)庫 > python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)

python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)

熱門標(biāo)簽:鄭州智能外呼系統(tǒng)運(yùn)營(yíng)商 佛山防封外呼系統(tǒng)收費(fèi) 南昌辦理400電話怎么安裝 獲客智能電銷機(jī)器人 哈爾濱外呼系統(tǒng)代理商 徐州天音防封電銷卡 不錯(cuò)的400電話辦理 電話機(jī)器人適用業(yè)務(wù) 湛江電銷防封卡

工作中會(huì)遇到這樣的需求,有多個(gè)Excel的格式一樣,都有多個(gè)sheet,且每個(gè)sheet的名字和格式一樣,我們需要按照sheet 合并,就是說合并后的表的格式和合并錢的格式是一樣的。A、B、C表格式如圖

現(xiàn)在需要合并成下圖:

我這次處理是保留第一個(gè)表的首行,其余的表的首行都不保留。因此結(jié)果會(huì)和上面有所不同,上面的是將所有的首行都保存

import xlrd,xlsxwriter

#待合并excel
allxls=["C:/xxx/xxx.xlsx",
        "C:/xxx/xxx.xlsx"]

#目標(biāo)excel
end_xls="C:/xxx/merge.xlsx"


def open_xls(file):
    try:
        fh=xlrd.open_workbook(file)
        return fh
    except Exception as e:
        print("打開文件錯(cuò)誤:"+e)


#根據(jù)excel名以及第幾個(gè)標(biāo)簽信息就可以得到具體標(biāo)簽的內(nèi)容
def get_file_value(filename,sheetnum):
    rvalue=[]
    fh=open_xls(filename)
    sheet=fh.sheets()[sheetnum]
    row_num=sheet.nrows
    for rownum in range(0,row_num):
        rvalue.append(sheet.row_values(rownum))
    return rvalue

def get_file_value_1(filename,sheetnum):
    rvalue=[]
    fh=open_xls(filename)
    sheet=fh.sheets()[sheetnum]
    row_num=sheet.nrows
    for rownum in range(1,row_num):
        rvalue.append(sheet.row_values(rownum))
    return rvalue
#獲取第一個(gè)excel的sheet個(gè)數(shù)以及名字作為標(biāo)準(zhǔn)
first_file_fh=open_xls(allxls[0])
first_file_sheet=first_file_fh.sheets()
first_file_sheet_num=len(first_file_sheet)
sheet_name=[]
for sheetname in first_file_sheet:
    sheet_name.append(sheetname.name)


#定義一個(gè)目標(biāo)excel
endxls=xlsxwriter.Workbook(end_xls)

all_sheet_value=[]

#把所有內(nèi)容都放到列表all_sheet_value中
for sheet_num in range(0,first_file_sheet_num):
    all_sheet_value.append([])
    for i,file_name in enumerate(allxls):
        if i==0:
            print("正在讀取"+file_name+"的第"+str(sheet_num+1)+"個(gè)標(biāo)簽...")        
            file_value=get_file_value(file_name,sheet_num)
            all_sheet_value[sheet_num].append(file_value)
        else:
            print("正在讀取"+file_name+"的第"+str(sheet_num+1)+"個(gè)標(biāo)簽...")        
            file_value=get_file_value_1(file_name,sheet_num)
            all_sheet_value[sheet_num].append(file_value)
            

#print(all_sheet_value)

num=-1
sheet_index=-1

#將列表all_sheet_value的內(nèi)容寫入目標(biāo)excel
for sheet in all_sheet_value:
    sheet_index+=1
    end_xls_sheet=endxls.add_worksheet(sheet_name[sheet_index])
    num+=1
    num1=-1
    for sheet1 in sheet:
        for sheet2 in sheet1:
            num1+=1
            num2=-1
            for sheet3 in sheet2:
                num2+=1
                #print(num,num1,num2,sheet3)
                #在第num1行的第num2列寫入sheet3的內(nèi)容
                end_xls_sheet.write(num1,num2,sheet3)

endxls.close()

到此這篇關(guān)于python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)的文章就介紹到這了,更多相關(guān)python 合并多個(gè)excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用 Python 合并多個(gè)格式一致的 Excel 文件(推薦)
  • 使用python將多個(gè)excel文件合并到同一個(gè)文件的方法
  • python 實(shí)現(xiàn)讀取一個(gè)excel多個(gè)sheet表并合并的方法
  • Python合并多個(gè)Excel數(shù)據(jù)的方法
  • Python將多個(gè)excel表格合并為一個(gè)表格

標(biāo)簽:吉安 安康 懷化 紹興 呂梁 蕪湖 廣西 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)》,本文關(guān)鍵詞  python,按照,sheet,合并,多個(gè),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)》相關(guān)的同類信息!
  • 本頁收集關(guān)于python 按照sheet合并多個(gè)Excel的示例代碼(多個(gè)sheet)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章