python 整合excel_python批量快速合并excel文件

简介

如果有很多excel文件需要合并到一个Excel文件中,使用复制粘贴来操作是非常痛苦,这时可以使用Python来批量自动操作。

把需要合并的Excel文件放到同一文件夹下。

安装需要的库

python环境Python3

pip3 install xlrd

pip3 install xlsxwriter

代码

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Author: Aiker Zhao

# @Date : 2019/5/4 9:34 AM

# @File : megerexcel.py

# @Desc :

import xlrd

import xlsxwriter

import os

path = "/Users/Aiker/Documents/xzexcel/1-6/"

def get_allxls(): # 获取excel文件列表

all_xls = []

for f in os.listdir(path):

f_name = path + f

all_xls.append(f_name)

return all_xls

def open_xls(file): # 打开一个excel

fh = xlrd.open_workbook(file)

return fh

def getsheet(fh): # 获取excel表中的所有sheet

return fh.sheets()

def getnrows(fh, sheet): # 获取sheet表中的行数

table = fh.sheets()[sheet]

return table.nrows

def getFilect(file, shnum): # 读取文件内容并返回内容

fh = open_xls(file)

table = fh.sheets()[shnum]

num = table.nrows

for row in range(num):

rdata = table.row_values(row)

datavalue.append(rdata)

return datavalue

def getshnum(fh): # 获取sheet表的个数

x = 0

sh = getsheet(fh)

for sheet in sh:

x += 1

return x

if __name__ == '__main__':

allxls = get_allxls() # 定义要合并的excel文件列表

datavalue = []

for fl in allxls: # 存储所有读取的结果

fh = open_xls(fl)

x = getshnum(fh)

for shnum in range(x):

print("正在读取文件:" + str(fl) + "的第" + str(shnum) + "个sheet表的内容...")

rvalue = getFilect(fl, shnum)

endfile = "/Users/Aiker/Documents/xzexcel/行政工作统计19-6.xls" # 合并后的文件

wb1 = xlsxwriter.Workbook(endfile)

ws = wb1.add_worksheet()

for a in range(len(rvalue)):

for b in range(len(rvalue[a])):

c = rvalue[a][b]

ws.write(a, b, c)

wb1.close()

print("excel合并完成")

运行脚本:

python3 megerexcel.py

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值