亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何按照sheet合并多個Excel

發布時間:2021-09-06 17:32:27 來源:億速云 閱讀:181 作者:小新 欄目:開發技術

小編給大家分享一下python如何按照sheet合并多個Excel,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

python如何按照sheet合并多個Excelpython如何按照sheet合并多個Excel

現在需要合并成下圖:

python如何按照sheet合并多個Excelpython如何按照sheet合并多個Excel

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

import xlrd,xlsxwriter

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

#目標excel
end_xls="C:/xxx/merge.xlsx"


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


#根據excel名以及第幾個標簽信息就可以得到具體標簽的內容
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
#獲取第一個excel的sheet個數以及名字作為標準
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)


#定義一個目標excel
endxls=xlsxwriter.Workbook(end_xls)

all_sheet_value=[]

#把所有內容都放到列表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)+"個標簽...")        
            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)+"個標簽...")        
            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的內容寫入目標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的內容
                end_xls_sheet.write(num1,num2,sheet3)

endxls.close()

以上是“python如何按照sheet合并多個Excel”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南澳县| 兴隆县| 古浪县| 安乡县| 阿坝县| 永城市| 栾城县| 台中市| 易门县| 邵东县| 罗平县| 恭城| 温州市| 扶绥县| 运城市| 淅川县| 马公市| 呼伦贝尔市| 电白县| 博湖县| 吉木萨尔县| 柏乡县| 巴彦淖尔市| 开鲁县| 威海市| 沁水县| 轮台县| 湖北省| 邳州市| 乐安县| 长治市| 湄潭县| 鄢陵县| 饶河县| 宁南县| 阳谷县| 尼木县| 淮北市| 灵寿县| 清新县| 盐源县|