python操作Excel表格小妙招:只需十行代碼,可以將多張Excel合並為一張


前幾天遇見這么一個問題,手上有很多張表格,這些表格中都只有一個 sheet,需要把這些表匯總到一張表。

一張表中有多個 sheet,每一個 sheet 的名稱是每張表格的文件名。

如果手動合並,往往需要花不少時間。如有 100 張表格的話,那樣效率就太低了,於是弄了一個腳本來完成這個任務。

我找了一些測試數據,放在了 abc 文件夾下,abc 隨便取的,只是一個保存數據的文件夾而已,在這個文件夾中只保存表格數據,其他的不要保存:
在這里插入圖片描述
然后需要把這些表格數據合並為同一張表格,里面有多個 sheet,每一個 sheet 的數據為每一張表的數據且命名為原始數據表的名稱。

代碼如下:

'''
學習中遇到問題沒人解答?小編創建了一個Python學習交流群:857662006
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書!
'''
import pandas as pd
import os
result = pd.ExcelWriter('result.xlsx') #結果保存路徑
origin_file_list = os.listdir(r'./abc') #獲取表格路徑
for i in origin_file_list:
    file_path = r'./abc/%s' % i  #拼接文件路徑
    content = pd.read_excel(file_path)  #讀取文件內容
    sheet_name = i[:len(i)-4]  #獲取文件名
    content.to_excel(result, sheet_name, index=False) # 寫入同一個表的不同sheet
result.save()

上面的代碼比較容易看懂,都有注釋。先設置輸出結果文件路徑及名稱,再獲得數據源的所在的路徑下的所有數據表的表名,循環讀取每一個文件,設置 sheet 名字,設置為多個 sheet,最后保存。

運行后得到 result.xlsx 文件:
在這里插入圖片描述
打開查看結果,可以看到有多個 sheet,且每一張 sheet 的名稱都為原始數據表的名稱:
在這里插入圖片描述
到這里,這一個小需求就完成了。

注意:自己測試的時候,表格第一列第一行不能為空,否則會報錯。

學‘廢’了嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM