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 相关文章推荐
如何搜索查找并解决Django相关的问题
Jun 30 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
Python数据类型详解(二)列表
May 08 Python
Python实现的计数排序算法示例
Nov 29 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
对python数据切割归并算法的实例讲解
Dec 12 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
Python 50行爬虫抓取并处理图灵书目过程详解
Sep 20 Python
python集合常见运算案例解析
Oct 17 Python
python中栈的原理及实现方法示例
Nov 27 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
Python基础之字符串操作常用函数集合
Feb 09 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 和 COM
2006/10/09 PHP
PHP多线程抓取网页实现代码
2010/07/22 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
解析yii数据库的增删查改
2013/06/20 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
vue中导出Excel表格的实现代码
2018/10/18 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
react 生命周期实例分析
2020/05/18 Javascript
小程序实现密码输入框
2020/11/16 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
什么是GWT的Module
2013/01/20 面试题
电大本科自我鉴定
2014/02/05 职场文书
黄河绝恋观后感
2015/06/08 职场文书