python利用openpyxl拆分多个工作表的工作簿的方法


Posted in Python onSeptember 27, 2019

实现按目录拆分工作簿,源数据如下图

python利用openpyxl拆分多个工作表的工作簿的方法

按目录拆分成N个文件。

python利用openpyxl拆分多个工作表的工作簿的方法

上代码,没有找是否有整个sheet 复制的,先逐个cell复制解决问题。:

# encoding: utf-8
"""
@author: 陈年椰子
@contact: hndm@qq.com
@version: 1.0
@file: Split_Xls.py
@time: 2019/9/24 0028 15:04
说明
"""
def Split_Xls(xls_file):
  from openpyxl import load_workbook
  from openpyxl import Workbook
 
  wb = load_workbook(xls_file)
  sheet_list = wb.sheetnames
  print(sheet_list)
  a_sheet = wb['目录']
  for i in range(3,6):
    sheet_name = a_sheet['B{}'.format(i)].value
    if sheet_name is None:
      break
    if sheet_name == '':
      break
    sr_sheet = wb[sheet_name]
    new_file_name = "{}.xlsx".format(sheet_name)
    print(sheet_name)
    wb_tg = Workbook()
    ws = wb_tg.active
    ws.title = sheet_name
 
    # 两个for循环遍历整个excel的单元格内容
    for i, row in enumerate(sr_sheet.iter_rows()):
      for j, cell in enumerate(row):
        # print(i,j,cell.value)
        ws.cell(row=i + 1, column=j + 1, value=cell.value)
    wb_tg.save(new_file_name)
    wb_tg.close()
  wb.close()
 
 
 
def Split_Xls2(xls_file):
  # 这个是通过删除其他的工作表,只留下要保存的工作表,这样就可以整个表复制,包括样式,过程曲折,但能达到效果。
  from openpyxl import load_workbook
  wb = load_workbook(xls_file)
  sheet_list = wb.sheetnames
  print(sheet_list)
  work_list = []
  a_sheet = wb['目录']
  for i in range(3,6):
    sheet_name = a_sheet['B{}'.format(i)].value
    if sheet_name is None:
      break
    if sheet_name == '':
      break
    work_list.append(sheet_name)
  wb.close()
 
  for sheet_name in work_list:
    new_file_name = "{}.xlsx".format(sheet_name)
    print('处理工作表', sheet_name, '\t保存文件', new_file_name)
    wb = load_workbook(xls_file)
    # print(wb.sheetnames)
    for del_sheet in sheet_list:
      if del_sheet != sheet_name:
        # print('del',del_sheet)
        wb.remove(wb[del_sheet])
    wb.save(new_file_name)
    wb.close()
 
 
Split_Xls2('test.xlsx')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的设计模式编程入门指南
Apr 02 Python
python数字图像处理实现直方图与均衡化
May 04 Python
Python重新加载模块的实现方法
Oct 16 Python
python3实现逐字输出的方法
Jan 23 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
Oct 30 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
jupyter notebook 重装教程
Apr 16 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
keras 多gpu并行运行案例
Jun 10 Python
python 代码运行时间获取方式详解
Sep 18 Python
Python3如何使用tabulate打印数据
Sep 25 Python
Python绘制热力图示例
Sep 27 #Python
python将print输出的信息保留到日志文件中
Sep 27 #Python
python线程安全及多进程多线程实现方法详解
Sep 27 #Python
python config文件的读写操作示例
Sep 27 #Python
Python queue队列原理与应用案例分析
Sep 27 #Python
python多环境切换及pyenv使用过程详解
Sep 27 #Python
python 哈希表实现简单python字典代码实例
Sep 27 #Python
You might like
mysql 全文搜索 技巧
2007/04/27 PHP
php 归并排序 数组交集
2011/05/10 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
python实现定制交互式命令行的方法
2014/07/03 Python
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
python实现list由于numpy array的转换
2018/04/04 Python
python hough变换检测直线的实现方法
2019/07/12 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
Python字典dict常用方法函数实例
2020/11/09 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
经理管理专业毕业自荐书范文
2014/02/12 职场文书
低碳环保标语
2014/06/12 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
就业推荐表院系意见
2015/06/05 职场文书
广播体操比赛主持词
2015/06/29 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers