日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 合并多個excel中同名的sheet

瀏覽:28日期:2022-06-29 13:15:03

大家好~ 老Amy來啦!已經n久沒有給大家輸出關于辦公自動化的文章了…為什么呢?羅列原因:

太忙!(被領導“壓榨”) 太忙!(沒有額外的精力揣測大家辦公的需求) 太忙!(持續吃瓜中)

然鵝,一位朋友的困惑成為了我這種“麻木狀態”的終結者,他提出需求如下:

python 合并多個excel中同名的sheet

想不斷嘗試的老Amy,開啟了思考模式:“我要怎么實現這個需求呢?”。

不用著急,首先我們來分析數據本身。

分析數據特征如下:

數據所在路徑 C:UserslogicDesktopmytestfile_dir

python 合并多個excel中同名的sheet

data01.xlsx 數據如下:

python 合并多個excel中同名的sheet

data02.xlsx 數據如下:

python 合并多個excel中同名的sheet

由上可得信息如下:

所有 xlsx 工作簿都在同一個文件夾下 data01.xlsx 與 data02.xlsx 中 sheet 名相同的進行合并。也就是202001與202001合并,其它同理。

我們需要合并數據,首先需要讀取到每個工作簿下每個工作表的數據,實現流程如下:

獲取文件夾下所有工作簿名 拼接為絕對路徑 讀取所有表格數據 保存到空列表中

那要通過代碼完成上面的連環操作,我們就需要使用到 python 中的內置模塊 os 模塊——與操作系統進行交互的模塊,來獲取文件夾下所有工作簿名,代碼如下:

import os # 導入模塊# 列出 C:UserslogicDesktopmytestfile_dir 下所有文件名file_name_li = os.listdir(r'C:UserslogicDesktopmytestfile_dir')file_name_li---------------------------------------------------------------------[’data01.xlsx’, ’data02.xlsx’]

但此時,無法只通過文件名去系統中找到對應的文件,所以我們需要更準確一點兒的地址——絕對路徑,所以現在我們需要拼接每個文件的絕對路徑。代碼如下:

# 遍歷出每個文件名for file_name in file_name_li: # 將文件夾絕對路徑 與 文件名進行拼接 file_path_li = os.path.join(r'C:UserslogicDesktopmytestfile_dir',file_name) print(file_path_li) --------------------------------------------------------------------C:UserslogicDesktopmytestfile_dirdata01.xlsxC:UserslogicDesktopmytestfile_dirdata02.xlsx

有了文件的絕對路徑后,我們就可以來讀取文件中的數據,那就要使用到法寶 pandas 了。首先大家注意,pandas 并不是 python 的內置模塊,而是需要我們去安裝的。然后使用 pandas 的 read_excel() 方法讀取數據,但是需要注意的是,此時我們需要讀取的是工作簿下的所有工作表,所以需要指定 sheet_name 為 None,否則會默認讀取第一個工作表。代碼如下:

# 遍歷出每個文件名for file_name in file_name_li: # 將文件夾絕對路徑 與 文件名進行拼接 file_path_li = os.path.join(r'C:UserslogicDesktopmytestfile_dir',file_name) # 讀取 excel 表格數據 all_data = pd.read_excel(file_path_li,sheet_name=None) print(all_data) --------------------------------------------------------------------OrderedDict([(’202001’, 車牌號 駕駛員 起始公里 截至公里 里程數 加油金額 加油公升0 鄂J0969 陳燕 186701.0 186935 234 267.07 32.411 鄂A25JL NaN NaN 0 0 NaN NaN2 鄂A37NK 呂揚 40283.0 40993 710 512.08 68.373 鄂A332B NaN NaN 0 0 NaN NaN4 鄂A3J78L 尚超 0.0 33 33 NaN NaN5 鄂A484ZF 魯浩 50286.0 52574 2288 1340.84 191.456 鄂A620J 袁耀 41398.0 43604 2206 1579.69 225.677 鄂A7A8Z 志勇 41560.0 42883 1323 788.48 107.578 鄂AJ37Y 劉沖 0.0 73 73 NaN NaN9 鄂AD9251 毛義 3214.0 3349 135 NaN NaN10 鄂AD2192 趙敏 434.0 796 362 NaN NaN),...], ...)

從上打印出的結果(我取了第一個),會發現它的類型為 OrderedDict ,雖然組合起來好像不是很看得懂,但是分開來看,它的本質實際上是 Dict。所以實際上我們可以通過 202001 來獲取對應的數據值。如:

# 遍歷出每個文件名for file_name in file_name_li: # 將文件夾絕對路徑 與 文件名進行拼接 file_path_li = os.path.join(r'C:UserslogicDesktopmytestfile_dir',file_name) # 讀取 excel 表格數據 all_data = pd.read_excel(file_path_li,sheet_name=None) print(all_data['202001'])---------------------------------------------------------------------車牌號 駕駛員 起始公里 截至公里 里程數 加油金額 加油公升0 鄂J0969 陳燕 186701.0 186935 234 267.07 32.411 鄂A25JL NaN NaN 0 0 NaN NaN2 鄂A37NK 呂揚 40283.0 40993 710 512.08 68.373 鄂A332B NaN NaN 0 0 NaN NaN4 鄂A3J78L 尚超 0.0 33 33 NaN NaN5 鄂A484ZF 魯浩 50286.0 52574 2288 1340.84 191.456 鄂A620J 袁耀 41398.0 43604 2206 1579.69 225.677 鄂A7A8Z 志勇 41560.0 42883 1323 788.48 107.578 鄂AJ37Y 劉沖 0.0 73 73 NaN NaN9 鄂AD9251 毛義 3214.0 3349 135 NaN NaN10 鄂AD2192 趙敏 434.0 796 362 NaN NaN 車牌號 駕駛員 起始公里 截至公里 里程數 加油金額 加油公升0 鄂J0039 周鵬 15512 15512 0 NaN NaN1 鄂J0021 王林 7790 7790 0 NaN NaN2 鄂J0022 徐濤 373505 373505 0 NaN NaN3 鄂J0079 趙舟 431169 431169 0 NaN NaN4 鄂J0018 郭鷹 3635 3635 0 NaN NaN5 鄂J0808 周尊 257743 257743 0 NaN NaN6 鄂J01X3 胡志 72000 72150 150 159.26 25.167 鄂J01X0 吳軍 73031 73568 537 393.46 58.128 鄂J0F12 宋安 149017 149050 33 0.00 0.009 鄂J0F52 金煜 150617 150617 0 NaN NaN10 鄂J0272 劉兵 58124 58305 181 0.00 0.0011 鄂J02F2 胡飛 169665 169665 0 NaN NaN12 鄂J0292 王勇 111625 113121 1496 1081.37 156.5413 鄂J05R0 劉金 99278 99278 0 NaN NaN

從打印結果,可以發現,我們通過 202001 可以取到兩個工作簿中 202001 的數據,這是為什么呢?傻瓜,因為循環呀~所以,現在我們就想,把數據都添加到一個列表中。除此之外,我們還需要工作表名來獲取數據,也就是將工作表名保存到一個集合中(以便去重)。

# 定義文件名集合all_file_name = set()# 定義數據列表all_data_li = []# 遍歷出每個文件名for file_name in file_name_li: # 將文件夾絕對路徑 與 文件名進行拼接 file_path_li = os.path.join(r'C:UserslogicDesktopmytestfile_dir',file_name) # 讀取 excel 表格數據 all_data = pd.read_excel(file_path_li,sheet_name=None) # 將數據添加到數據列表中 all_data_li.append(all_data) # 將工作表名添加到文件夾集合中 for name in all_data: all_file_name.add(name)print(all_data_li)print(all_file_name)

有了這些寶貝之后,我們就可以來實現非常關鍵的步驟了,也就是取出相同名稱的工作表進行拼接保存到新的工作表中。

不過仍然要思考的是,我們怎么使用 pandas 給一個工作簿中添加多個工作表呢?那就需要使用 pd.ExcelWriter了。代碼如下:

# 創建工作簿writer = pd.ExcelWriter('all_data.xlsx')# 遍歷每個工作表名for sheet_name in all_file_name: data_li = [] # 遍歷數據 for data in all_data_li: # 獲取同名數據并添加到data_li中 n_rows = data_li.append(data[sheet_name]) # 將同名數據進行拼接 group_data = pd.concat(data_li) # 保存到writer工作簿中,并指定工作表名為sheet_name group_data.to_excel(writer,sheet_name=sheet_name)# 千萬莫忘記,保存工作簿writer.save()

python 合并多個excel中同名的sheet

就醬,實現完畢啦~哈哈哈哈哈

以上就是python 合并多個excel中同名的sheet的詳細內容,更多關于python 合并excel中的sheet的資料請關注好吧啦網其它相關文章!

標簽: python
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
男女男精品视频网| 一区在线免费观看| 欧美久久久网站| 国产欧美一区| 国产91在线精品| 色偷偷色偷偷色偷偷在线视频| 92国产精品| 欧美精品自拍| 日韩欧美美女在线观看| 久久不卡日韩美女| 色吊丝一区二区| 成人精品天堂一区二区三区| 一区二区亚洲精品| 日韩精品欧美大片| 国产精品久久国产愉拍| 中文在线中文资源| 久久亚洲风情| 国产精品15p| 激情久久久久久久| 日本一不卡视频| 精品久久免费| 野花国产精品入口| 国产精品mv在线观看| 久久久久中文| 亚洲人成亚洲精品| 电影91久久久| 午夜在线精品偷拍| 欧美国产日本| 欧美日韩国产综合网| 欧美在线首页| 久久国产中文字幕| 国产日韩一区二区三区在线| 成人久久久久| 国产一精品一av一免费爽爽| 伊人久久高清| 日本91福利区| 亚洲激情欧美| 精品视频网站| 男女性色大片免费观看一区二区| 精品久久91| 蜜桃久久久久久| 高清av一区| 婷婷精品在线| 亚洲成人二区| 国产精品嫩草影院在线看| 欧美福利专区| 麻豆91精品视频| 最新亚洲国产| 91看片一区| 国产日产高清欧美一区二区三区| 99tv成人| 鲁大师精品99久久久| 亚洲婷婷丁香| 亚洲夜间福利| 亚洲黄色中文字幕| 麻豆久久一区二区| 麻豆精品91| 久久男人天堂| 久久精品国产一区二区| 日本亚洲欧美天堂免费| 国户精品久久久久久久久久久不卡| 欧美激情网址| 日本a口亚洲| 噜噜噜久久亚洲精品国产品小说| 日本高清不卡一区二区三区视频| 国产精品久久久久久久免费软件| 在线国产精品一区| 宅男噜噜噜66国产日韩在线观看| 中文字幕在线视频网站| 欧美激情福利| 国产亚洲一区二区三区啪| 亚洲欧美日本国产专区一区| 99久久久久| 日本精品黄色| 欧美激情福利| 国产欧美日本| 国产日本精品| 欧美亚洲人成在线| 日韩高清一区在线| 天堂va欧美ⅴa亚洲va一国产| 日韩一区二区久久| 亚洲一级黄色| 日韩av一级| 亚洲综合在线电影| 久久久人人人| 亚洲小说欧美另类婷婷| 日韩欧美看国产| 91视频一区| 蜜桃成人精品| 久久久久美女| 亚洲精品成人| 99热精品在线| 免费观看日韩电影| 日韩在线电影| 国产探花一区| 久久gogo国模啪啪裸体| 国产精品99久久免费| 欧美激情久久久久久久久久久| 欧美aⅴ一区二区三区视频| 麻豆成人在线观看| 国产精品久久久久久久久久10秀| 精品国产乱码久久久久久樱花| 久久字幕精品一区| 91欧美在线| 国产综合亚洲精品一区二| 亚洲成人日韩| 蜜臀国产一区二区三区在线播放| 亚洲久草在线| 久久不卡国产精品一区二区| 精品久久91| 91精品精品| 国产亚洲毛片| 四虎国产精品免费久久| 国产视频一区二区在线播放| 精品久久中文| 久久美女精品| 美女91精品| 国产欧美日韩精品一区二区三区| 精品九九久久| 亚洲国产专区校园欧美| 亚洲视频电影在线| 欧美极品中文字幕| 欧美肉体xxxx裸体137大胆| 免费看黄色91| 美女久久精品| 尤物网精品视频| 91精品视频一区二区| av免费不卡国产观看| 亚洲一区国产| 国产精品久久久久久久久久白浆 | 欧美日韩国产观看视频| 欧美亚洲国产一区| 中文视频一区| 欧美1区2区3| 九九在线精品| 久久精品凹凸全集| 神马久久午夜| 日本在线不卡视频一二三区| 成人午夜亚洲| 国产亚洲综合精品| 国产日产精品一区二区三区四区的观看方式| 国产成人久久精品麻豆二区| 亚洲综合三区| 成人午夜网址| 日韩精品一二三四| 你懂的国产精品| 性欧美长视频| 成人亚洲精品| 婷婷综合电影| 欧美+日本+国产+在线a∨观看| 国产精品男女| 亚洲欧美日韩国产一区| 精品国产乱码久久久久久樱花| 久久国产精品99国产| 都市激情国产精品| 日本不卡一区二区三区| 国产主播一区| 精品中文在线| 亚洲毛片视频| 欧美午夜精彩| 国产伊人久久| 欧美综合精品| 亚洲激情欧美| 日韩在线中文| 国产精品videosex极品| 美女国产一区| 91精品一区二区三区综合在线爱| 青草国产精品| 久久大逼视频| 欧美日韩免费观看一区=区三区| 大香伊人久久精品一区二区| 天堂久久一区| 国产精品婷婷| 激情综合自拍| 久久久久久自在自线| 日本aⅴ亚洲精品中文乱码| 亚洲免费成人| 婷婷精品视频| 久久久人人人| av免费不卡国产观看| 老鸭窝一区二区久久精品| 亚洲ww精品| 狠狠色综合网| 免费视频国产一区| 日韩久久精品| 精品国产99| 国产精品丝袜在线播放| 欧美亚洲三级| 97se亚洲| 国产调教精品| 欧美一区在线观看视频| 综合一区二区三区| 伊人精品久久| 一区二区三区四区在线观看国产日韩| 久久中文字幕av| 99精品视频精品精品视频| 国产精品毛片aⅴ一区二区三区| 日韩国产一二三区| 日韩欧美中文字幕在线视频| 日欧美一区二区|