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语言的12个基础知识点小结
Jul 10 Python
python django集成cas验证系统
Jul 14 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
在Django中创建第一个静态视图
Jul 15 Python
Python使用pip安装pySerial串口通讯模块
Apr 20 Python
Numpy中的mask的使用
Jul 21 Python
Python使用分布式锁的代码演示示例
Jul 30 Python
python清除字符串前后空格函数的方法
Oct 21 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
Pytorch卷积层手动初始化权值的实例
Aug 17 Python
Python selenium绕过webdriver监测执行javascript
Apr 12 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
PHP初学者头疼问题总结
2006/07/08 PHP
杏林同学录(八)
2006/10/09 PHP
php 分页类 扩展代码
2009/06/11 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
javascript 动态添加表格行
2006/06/22 Javascript
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
javascript实现点击后变换按钮显示文字的方法
2015/05/13 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
书单|人生苦短,你还不用python!
2017/12/29 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
python实现图片中文字分割效果
2019/07/22 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
银行实习生的自我评价
2013/12/09 职场文书
爱情保证书范文
2014/02/01 职场文书
奔腾年代观后感
2015/06/09 职场文书
python基础之类属性和实例属性
2021/10/24 Python
Python超详细分步解析随机漫步
2022/03/17 Python