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

一 前言

公司同事最近在做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博客!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值