Python合并Excel所有Sheet数据到新Sheet的方法
本文介绍如何使用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 + 16. 保存新的Excel文件:
nbk.save('A-new.xls')注意事项
- 本例为横向合并已存在的Sheet数据到新Sheet。
- 纵向合并方法需用户自行调整。
- 确保源Excel文件路径正确,且目标文件路径有写入权限。
以上就是Python合并Excel所有Sheet数据到新Sheet的详细内容,更多关于Python Excel操作、Sheet合并、xlrd、xlwt的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









