Python合并Excel所有Sheet数据到新Sheet的方法

顾星河
顾星河
发布时间:2026-10-11| 6人浏览过
原创

本文介绍如何使用Python将Excel文件中所有已存在的Sheet数据横向合并到一个新的Sheet中。通过xlrd读取源数据,利用xlwt和xlutils.copy创建并写入新Sheet,最后保存为新的Excel文件。

Python合并Excel所有Sheet数据到新Sheet的方法

在处理Excel文件时,有时需要将多个Sheet的数据合并到一个新的Sheet中。本文将介绍如何使用Python实现这一功能,具体为横向合并所有已存在的Sheet数据到新Sheet。

准备工作

首先,需要安装以下Python库:

  • xlrd:用于读取Excel文件
  • xlwt:用于写入Excel文件
  • xlutils:用于复制Excel文件

可以通过以下命令安装这些库:

pip install xlrd xlwt xlutils

实现步骤

以下是实现横向合并所有Sheet数据到新Sheet的Python代码:

import xlrd 
import xlwt
import shutil 
from xlutils.copy import copy 
import datetime 

# 打开要使用的excel,获取要需要写入的行数 
bk = xlrd.open_workbook('A.xlsx') #打开A文件
nbk = copy(bk)
newsh = nbk.add_sheet('totale') #新建total名字的sheet
nsheet = bk.nsheets
cur_col = 1
#scan all sheet in bk
print(nsheet)
for i in range(0, nsheet):
  sh = bk.sheet_by_index(i)
  print(sh.name)
  nrows = sh.nrows
  ncol = sh.ncols
  print(sh.nrows)
  print(sh.ncols)
  #scan all row in sh
  for j in range(0, ncol-1):
    for k in range(0, nrows-1):
      newsh.write(k,cur_col, label=sh.cell_value(k,j))
    cur_col = cur_col + 1
nbk.save('A-new.xls') #保存为A-new文件,其中包含了原始内容和新的total页

代码解析

1. 导入必要的库:

  • xlrd:用于读取Excel文件
  • xlwt:用于写入Excel文件
  • xlutils:用于复制Excel文件
  • datetime:用于处理日期时间(虽然本例中未使用)

2. 打开源Excel文件:

bk = xlrd.open_workbook('A.xlsx')

3. 复制源Excel文件:

nbk = copy(bk)

4. 创建新的Sheet:

newsh = nbk.add_sheet('totale')

5. 遍历所有Sheet并合并数据:

for i in range(0, nsheet):
  sh = bk.sheet_by_index(i)
  print(sh.name)
  nrows = sh.nrows
  ncol = sh.ncols
  print(sh.nrows)
  print(sh.ncols)
  #scan all row in sh
  for j in range(0, ncol-1):
    for k in range(0, nrows-1):
      newsh.write(k,cur_col, label=sh.cell_value(k,j))
    cur_col = cur_col + 1

6. 保存新的Excel文件:

nbk.save('A-new.xls')

注意事项

  • 本例为横向合并已存在的Sheet数据到新Sheet。
  • 纵向合并方法需用户自行调整。
  • 确保源Excel文件路径正确,且目标文件路径有写入权限。

以上就是Python合并Excel所有Sheet数据到新Sheet的详细内容,更多关于Python Excel操作、Sheet合并、xlrd、xlwt的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。