使用python和xlwings合并excel文件

本文介绍了如何使用Python和xlwings库合并Excel文件,特别是针对那些只有一个工作表且含有唯一文本关键字的文件。作者通过自学Python,在两周时间内编写了一款脚本,该脚本能合并当前目录及其子目录下的xlsx文件,并通过《通用配置文件.xlsx》进行参数配置,以适应不同结构的Excel文件。
摘要由CSDN通过智能技术生成

使用python和xlwings合并excel文件

20年前读书时间考了一个C语言二级,许多年都没有使用过,现在工作上遇到一个合并汇总excel文件问题,找了一个新版pyhon,网络百度,自学2周,编写了一个脚本,基本可用。来此记录已自勉!

脚本设计

  1. 合并python脚本当前目录及下级目录的xlsx文件。
  2. 只支持合并excel文件只有一个工作表,唯一sheet,只支持唯一关键字为文本的合并,为数字的因为xlwing读取到list列表格式变浮点数字,不能正确更新汇总表(原因没学懂)。
  3. 通用型合并,可适用于不同结构excel文件,只需满足上面2点的要求。
  4. 合并汇总文件,关键数据列,有效数据列,使用《配置文件.xlsx》配置。

通用配置文件.xlsx

在这里插入图片描述
序号 项目 说明
汇总文件 2019年12月二次分配表 填写汇总文件名称
关键字列 4 填写关键字列,无重复,从0开始计算,A列为0,
有效数据列 9 填写有效数据列,一般选基础薪酬列,从0开始算,A列为0,B列为1
汇总表名称 python汇总 填写添加的汇总工作表名称
原始数据表 前端 填写原始数据表名称

标题

import os
import sys
import xlwings as xw
import time


#读取当前文件夹及子文件夹下的xlsx文件
def read_filelist():
    file_list = []
    path = os.path.dirname(os.path.realpath(__file__))
    for root, dirs, files in os.walk(path, topdown=False):
        for name in files:
            if name[-4:] == 'xlsx':
                file_list.append(os.path.join(root, name))
    return (file_list)


#读取配置文件
def read_inifile():
    argv0_list = sys.argv[0].split("\\")
    script_name = argv0_list[len(argv0_list) - 1]
    ini_file = sys.argv[0]
    ini_file = ini_file.replace(script_name, '配置文件.xlsx')
    if os.path.isfile(ini_file):
        app = xw.App(visible=False, add_book=False)
        ini_wb = app.books.open(ini_file)
        ini_sheet = ini_wb.sheets(1)
        ini_value = ini_sheet.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值