回覆列表
  • 1 # 小小猿愛嘻嘻

    這裡簡單介紹一下吧,不難,主要用到openpyxl和pandas這2個庫,其中openpyxl用於獲取Excel檔案中所有工作表,pandas用於合併所有工作表為一個工作表,下面我介紹一下具體實現過程,實驗環境win10+python3.6+pycharm5.0,主要內容如下:

    1.首先,安裝openpyxl和pandas庫,這個直接在cmd中輸入命令“pip install openpyxl pandas”就行,如下:

    2.安裝完成後,我們就可以編寫相關程式碼來實現合併Excel工作表了,這裡介紹了兩種合併方式,分別是縱向合併和橫向合併,主要步驟及截圖如下:

    為了更好的說明問題,這裡我新建了一個Excel檔案,包含3個工作表,基本測試資料如下,每張表3行4列資料:

    縱向合併,基本思路先使用openpyxl的get_sheet_names函式獲取所有工作表名稱,然後再使用pandas的concat函式縱向合併所有工作表,具體程式碼如下:

    橫向合併,基本思路和縱向合併差不多,也是先使用openpyxl獲取所有工作表,只不過使用pandas的merge函式實現橫向合併,具體程式碼如下,這裡如果是根據某一列合併的話,設定引數on為對應列名就行:

    至此,我們就完成了利用Python將Excel檔案中多個工作表合併成一個工作表。總的來說,整個過程不難,思路也很清晰,先使用openpyxl獲取所有工作表,然後再使用pandas合併工作表就行,只要你有一定的Python基礎,熟悉一下上面的程式,多除錯幾遍程式碼,很快就能掌握的,網上也有相關資料和示例,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。

  • 2 # 軟體測試開發技術棧

    使用Python pandas庫,十行程式碼搞定。

    pandas安裝

    建議安裝anaconda或者使用pip install pandas直接安裝pandas。

    例項介紹

    我們以如圖所示sheet為例,實現所有sheet資料合併、去重,再寫入新的execl檔案中。

    python pandas實現

    讀取sheet名稱,使用pandas的ExcelFile()方法透過sheet_names屬性來檢視當前表格中包含的所有sheet名稱。

    合併sheet資料,遍歷各sheet頁,使用concat函式合併所有sheet資料。

    資料去重,使用drop_duplicates()函式去重。

    寫入合併結果,使用to_execl()寫入合併結果。

    程式碼如下:合併結果如圖
  • 中秋節和大豐收的關聯?
  • 哪個牌子的城市越野車價效比比較好?