首页 > 其他分享 >excel 合并

excel 合并

时间:2023-03-08 20:23:50浏览次数:55  
标签:sheet wb excel 合并 openpyxl 账单 year target

最近整理收钱吧的账单明细,因为收钱吧限制每次最多只能导出 1 个月的明细,所以我需要合并这些零零碎碎的表格,方便在 excel 中做统计筛选

#!/usr/bin/env python3
# coding: utf-8
# https://hangj.cnblogs.com

import openpyxl
import os


summaries = []
details = []

path = '~/Downloads/收钱吧账单'
for cur_dir, dirs, files in os.walk(path):
    for f in files:
        if '对账单汇总' in f:
            summaries.append(cur_dir + '/' + f)
        elif '账单明细' in f:
            details.append(cur_dir + '/' + f)
summaries.sort()
details.sort()


def src2tar(src_path, target_sheet):
    wrkbk = openpyxl.load_workbook(src_path)
    sheet = wrkbk.active

    for row in sheet.iter_rows(min_row=1, min_col=1):
        target_sheet.append([cell.value for cell in row])



target_wb = {
    '2021': openpyxl.Workbook(),
    '2022': openpyxl.Workbook(),
    '2023': openpyxl.Workbook(),
}

for f in details:
    print(f)
    if '_2021-' in f:
        year = '2021'
    elif '_2022-' in f:
        year = '2022'
    elif '_2023-' in f:
        year = '2023'
    else:
        raise Exception("wrong year")
    src2tar(f, target_wb[year].active)
    target_wb[year].active.append([])

for k in target_wb:
    target_wb[k].save(f'~/Downloads/收钱吧账单/对账单明细_{k}.xlsx')

标签:sheet,wb,excel,合并,openpyxl,账单,year,target
From: https://www.cnblogs.com/hangj/p/17195975.html

相关文章

  • JAVA 实现导入导出Excel-02随笔
    忙碌的一天第一天写博客就让我煞费苦心,从上午完成的第一篇开始,具目前为止已经是下午18:41了;读者可能好奇为什么写这一篇随笔,我只能回答说太无聊了哈哈哈;其实不然,刚到......
  • 代码随想录算法Day36 | 435. 无重叠区间 , 763.划分字母区间, 56. 合并区间
    435.无重叠区间题目链接:435.无重叠区间-力扣(LeetCode)思路这道题首先进行排序,使得相邻的区间紧挨在一起。按左边界或者右边界都可以。其次定义一个变量result记录重......
  • Excel基础学习笔记
    EXCEL快速填充:CTRL+E帮你合并拆分内容想用快速填充附近一定要有数据 快速分析数据:选中目标区域后直接CTRL+Q快速分析能实现多种效果:格式化、图标、汇总、表格、迷......
  • 构建Excel帮助类
    开发环境:.NetCore3.1,NPOI2.6.0usingNPOI.HSSF.UserModel;usingNPOI.SS.UserModel;usingNPOI.SS.Util;usingNPOI.XSSF.UserModel;usingSystem;usingSystem.C......
  • JAVA 实现导入导出Excel-随笔
    1、开个小差今天是我第一次使用博客园记录随笔内容;从-CSDN->Typora->语雀其中的转换过程中,让我清楚这三个工具都比博客园记录随笔要轻松的多;话又说回来,那么我又为什么......
  • 把excel六位日期中间加上横线的公式
     同事希望把Excel六位日期中间加上减号"-",我为她设计了这样一个公式,调试完成后双击G2单元格右下方的填充柄,整列都跟着设置好了。思路:左边四位加横杠,加右四位的左二位,......
  • 力扣简617 合并二叉树
    一遍过欸但是没捋清楚所以写了好半天不过运行速度很差我发现我只会广度优先这题深度憨简单   classSolution{publicTreeNodemergeTrees(TreeNoder......
  • openpyxl-excel文件处理
    importos.path#加载对象fromopenpyxlimportWorkbookfromopenpyxlimportload_workbook#设置样式fromopenpyxl.stylesimportFontfromopenpyxl.stylesimpo......
  • #yyds干货盘点#【愚公系列】2023年03月 .NET CORE工具案例-.NET Core使用MiniExcel
    前言1.MiniExcel的介绍MiniExcel是一个简单、高效避免OOM的.NET处理Excel查、写、填充数据工具。目前主流框架大多需要将数据全载入到内存方便操作,但这会导致内......
  • ExcelPatternTool: Excel表格-数据库互导工具
    ExcelPatternToolExcel表格-数据库互导工具介绍:指定Pattern文件-一个规则描述的json文档,基于此规则实现Excel表格与数据库之间的导入导出,校验等功能。特点:小巧,轻量......