python不到50行代码完成了多张excel合并的实现示例


Posted in Python onMay 28, 2020

一 前言

公司同事最近在做excel相关的工作;今天来求助知识追寻者合并多个excel为一个一个工作本,原本是java操作poi太蛋疼了,笨重不堪,内存消耗严重,知识追寻者使用python不到40行代码完成了60多张excel工作本合并为一张;python真香

牛皮吹完了,如果看过知识追寻者系列文章的读者肯定知道之前知识追寻者发过一篇

python专题使用openpyxl操作excel;本篇使用的不是openpyx库,使用的使是xlrd,xlwt库,虽然这两库功能没法根openpyx相比,但可以操作xls结尾的旧版excel而openpyx不支持;

二 代码

大体思路如下

  • 遍历获取根目录下的所有excel文件
  • 根据excel名称进行匹配获取某类excel
  • 创建工作本用于写入拷贝的数据
  • 每个excel都有一张Sheet1,循环遍历单元格写入创建的工作本

详细过程写在代码里面;读者可以参考一下思路和使用方式,后续知识追寻者有空会出这2库基础系列文章的使用方式;

# -*- coding: utf-8 -*-
import xlrd
import xlwt
import os
import re

""" 写入工作本 """
def write_excel(path, write_sheet):
  # 加载工作本
  book = xlrd.open_workbook(path)
  # 获取表单
  read_sheet = book.sheet_by_name('Sheet1')
  # 遍历
  for row in range(read_sheet.nrows):
    for col in range(read_sheet.ncols):
      write_sheet.write(row, col, read_sheet.cell_value(row,col))
      
# 获取根目录下所有文件名
def walk(path):
 for root,dirs,names in os.walk(path):
  list = []
  for filename in names:
    path = os.path.join(root, filename)
    list.append(path)
  return list

if __name__ == "__main__":
  # 创建工作本
  write_book = xlwt.Workbook()
  # 根目录
  root = r'C:\mydata\generator\excel'
  path_list = walk(root)
  for path in path_list:
    val = path.find("本专科")
    if val!=-1:
     # 正则匹配
      ser = re.search('.*20200403(.*?).xls',path)
      name = ser.group(1)
      # 创建sheet
      write_sheet = write_book.add_sheet(name)
      # 写入
      write_excel(path, write_sheet)
  # 保存    
  write_book.save(r'本专科.xls')

到此这篇关于python不到50行代码完成了多张excel合并的实现示例的文章就介绍到这了,更多相关python 多张excel合并内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python装饰器使用示例及实际应用例子
Mar 06 Python
python3 实现的人人影视网站自动签到
Jun 19 Python
Python selenium文件上传方法汇总
Nov 19 Python
python实现微信远程控制电脑
Feb 22 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
Python中shapefile转换geojson的示例
Jan 03 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
利用python实现周期财务统计可视化
Aug 25 Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 Python
浅谈Python类的单继承相关知识
May 12 Python
python使用openpyxl操作excel的方法步骤
May 28 #Python
基于python实现破解滑动验证码过程解析
May 28 #Python
PythonPC客户端自动化实现原理(pywinauto)
May 28 #Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 #Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
May 28 #Python
Python爬虫requests库多种用法实例
May 28 #Python
在pycharm中创建django项目的示例代码
May 28 #Python
You might like
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
javascript中join方法实例讲解
2019/02/21 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
python避免死锁方法实例分析
2015/06/04 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
Python dict的常用方法示例代码
2020/06/23 Python
Python自定义sorted排序实现方法详解
2020/09/18 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
士力架广告词
2014/03/20 职场文书
法律系毕业生求职信
2014/05/28 职场文书
企业年度评优方案
2014/06/02 职场文书
幼儿老师求职信
2014/06/30 职场文书
导游词400字
2015/02/13 职场文书
自主招生英文自荐信
2015/03/25 职场文书
西游记读书笔记
2015/06/25 职场文书
村官2015年度工作总结
2015/10/14 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
实例详解Python的进程,线程和协程
2022/03/13 Python
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏