Python多個sheet表合併用法介紹

本文將從多個方面對Python多個sheet表合併進行詳細的闡述。

一、xlrd與xlwt模塊的基礎知識

xlrdxlwt是Python中處理Excel文件的重要模塊。xlrd模塊可以用於讀取Excel文件,而xlwt模塊可以用於創建Excel文件。兩個模塊結合使用,可以處理Excel文件的讀寫、複製、篩選、替換、合併、拆分等操作。

我們通常會用到 xlrd 的 open_workbook() 方法打開一個 Excel 文件,然後通過 sheet_by_index() 或者 sheet_by_name() 方法獲取工作表(workbook)中的某一個 sheet。代碼如下:

import xlrd

workbook = xlrd.open_workbook('example.xls')
sheet = workbook.sheet_by_index(0)    # 通過索引獲取第一個工作表
sheet = workbook.sheet_by_name('Sheet1')  # 通過名稱獲取工作表

而當我們想要創建一個新的 Excel 文件時,可以使用 xlwt 的 Workbook() 方法創建一個工作簿(workbook),並使用 add_sheet() 方法添加工作表(sheet)。代碼如下:

import xlwt

workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet('Sheet1')

二、多個sheet表的合併方法

1.使用Pandas庫實現

通過Pandas庫,我們可以非常方便地合併多個 sheet 表。

具體步驟如下:

1)讀取所有sheet表的數據;

2)將所有sheet表的數據進行合併;

3)將合併後的數據輸出到新的 Excel 文件中。

代碼如下:

import pandas as pd

# 讀取所有sheet表數據
df1 = pd.read_excel('file.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('file.xlsx', sheet_name='Sheet2')
df3 = pd.read_excel('file.xlsx', sheet_name='Sheet3')

# 合併所有sheet表數據
result = pd.concat([df1, df2, df3])

# 將結果輸出到新的Excel文件中
writer = pd.ExcelWriter('result.xlsx')
result.to_excel(writer)
writer.save()

2.使用xlrd與xlwt模塊實現

我們同樣可以使用 xlrd 與 xlwt 模塊來合併多個sheet表。

具體步驟如下:

1)打開需要合併的 Excel 文件;

2)遍歷所有 sheet 表,將數據存儲到一個列表中;

3)將所有sheet表的數據進行合併;

4)將合併後的數據輸出到新的 Excel 文件中。

代碼如下:

import xlrd
import xlwt

# 打開需要合併的Excel文件
workbook = xlrd.open_workbook('file.xls')

# 遍歷所有sheet表,將數據存儲到一個列表中
all_data = []
sheet_names = workbook.sheet_names()
for sheet_name in sheet_names:
    sheet = workbook.sheet_by_name(sheet_name)
    for row in range(sheet.nrows):
        all_data.append(sheet.row_values(row))

# 將所有sheet表的數據進行合併
result = xlwt.Workbook(encoding='utf-8')
sheet = result.add_sheet('Sheet1')
for i in range(len(all_data)):
    for j in range(len(all_data[i])):
        sheet.write(i, j, all_data[i][j])

# 將合併後的數據輸出到新的Excel文件中
result.save('result.xls')

三、小結

通過本文的介紹,我們可以學到如何使用 Pandas 庫以及 xlrd 和 xlwt 模塊來合併多個sheet表,這對於處理 Excel 文件中的數據非常有用。

如有其他更好的實現方法,歡迎留言分享。

原創文章,作者:CZXQL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/374407.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
CZXQL的頭像CZXQL
上一篇 2025-04-27 15:27
下一篇 2025-04-27 15:27

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python for循環求1到100的積

    Python中的for循環可以方便地遍歷列表、元組、字典等數據類型。本文將以Python for循環求1到100的積為中心,從多個方面進行詳細闡述。 一、for循環語法 Pytho…

    編程 2025-04-29
  • 為什麼Python不能編譯?——從多個方面淺析原因和解決方法

    Python作為很多開發人員、數據科學家和計算機學習者的首選編程語言之一,受到了廣泛關注和應用。但與之伴隨的問題之一是Python不能編譯,這給基於編譯的開發和部署方式帶來不少麻煩…

    編程 2025-04-29

發表回復

登錄後才能評論