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编写Linux系统守护进程实例
Feb 03 Python
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
Aug 16 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
解决python中使用PYQT时中文乱码问题
Jun 17 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
WxPython实现无边框界面
Nov 18 Python
python获取依赖包和安装依赖包教程
Feb 13 Python
python实现ssh及sftp功能(实例代码)
Mar 16 Python
Django nginx配置实现过程详解
Sep 10 Python
pycharm代码删除恢复的方法
Jun 26 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函数之子字符串替换 str_replace
2011/03/23 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
利用Python演示数型数据结构的教程
2015/04/03 Python
Python批量查询域名是否被注册过
2017/06/21 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
详解python单元测试框架unittest
2018/07/02 Python
windows下python安装pip方法详解
2020/02/10 Python
python字符串下标与切片及使用方法
2020/02/13 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
医学院毕业生自荐信范文
2014/03/06 职场文书
表彰会主持词
2014/03/26 职场文书
世界遗产导游词
2015/02/13 职场文书
开学典礼致辞
2015/07/29 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python