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里disconnect UDP套接字的方法
Apr 23 Python
Python操作MongoDB数据库PyMongo库使用方法
Apr 27 Python
python实现求最长回文子串长度
Jan 22 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
Python做智能家居温湿度报警系统
Sep 25 Python
浅谈python中拼接路径os.path.join斜杠的问题
Oct 23 Python
python logging模块的使用总结
Jul 09 Python
学习Python列表的基础知识汇总
Mar 10 Python
Python如何定义接口和抽象类
Jul 28 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 Python
Python3爬虫RedisDump的安装步骤
Feb 20 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日历类分享
2014/11/18 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
Vue异步加载about组件
2017/10/31 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python3 Random模块代码详解
2017/12/04 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
印度民族服装购物网站:BIBA
2019/08/05 全球购物
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
大学生水果店创业计划书
2014/01/28 职场文书
2014年创卫实施方案
2014/02/18 职场文书
高三毕业寄语
2014/04/10 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
药店采购员岗位职责
2014/09/30 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android
Python 绘制多因子柱状图
2022/05/11 Python