首页 > 其他分享 >记录一个按文档长度分割Excel文件的方法

记录一个按文档长度分割Excel文件的方法

时间:2024-05-22 22:30:40浏览次数:27  
标签:分割 file excel Excel length 文档 split 拆分 path

import tkinter as tk
import pandas as pd
import tkinter.filedialog
import os
import traceback

windows = tk.Tk()


####按长度拆分——自定义函数
##拆分函数
def division_by_length(iterable, length):
    iterable_len = len(iterable)
    start = 0
    while 1:
        if iterable_len > start + length:
            yield iterable[start:start + length]
        else:
            yield iterable[start:]
            return
        start += length


###拆分激活动作,按长度拆分
def split_excel():
    try:
        split_excel_file_path = tkinter.filedialog.askopenfilename(title='请选择要拆分的文件')
        split_sheet = tkinter.simpledialog.askstring(title='拆分sheet', prompt='请输入拆分sheetname:', initialvalue='Sheet1')
        split_num = tkinter.simpledialog.askstring(title='拆分长度', prompt='请输入拆分长度:', initialvalue='100')
        # 获取拆分长度
        length = int(split_num)
        print(split_num, type(split_num))
        # 选中,读取待拆分文件
        split_excel_df = pd.read_excel(split_excel_file_path, dtype=str, sheet_name=split_sheet)
        # print(split_excel_df)
        # 新建结果文件夹
        parent_dir = os.path.dirname(split_excel_file_path)  # 获取拆分文件父文件夹
        for i in parent_dir:
            middleware_file_path_help = os.path.join(parent_dir, "拆分文件")
        if not os.path.exists(middleware_file_path_help):
            os.makedirs(middleware_file_path_help)
        # 执行拆分操作
        split_list = [i for i in division_by_length(split_excel_df, length)]
        n = 1
        for i in split_list:
            i.to_excel(os.path.join(middleware_file_path_help, str(n) + ".xlsx"), index=False)
            n = n + 1
    except Exception as e:
        mes = traceback.format_exc()
        windows.update()


b_split = tk.Button(windows, text="按长度拆分文件", width=15, height=2, command=split_excel)
b_split.pack()
windows.mainloop()

标签:分割,file,excel,Excel,length,文档,split,拆分,path
From: https://www.cnblogs.com/AZ26/p/18207271

相关文章

  • MySQL 5.7 InnoDB官方文档中锁的八个分类概述自译
    官方文档描述InnoDB使用的锁的八个分类共享锁(SharedLocks)和排它锁(ExclusiveLocks)InnoDB实现了两种标准的行级别锁,分别是共享锁(又称S锁)和排它锁(又称X锁)。一个共享锁允许持有它的事务去读取某行数据。一个排它锁允许持有它的事务去更新或删除某行数据。如果事务T1持有......
  • 记录一次Xlwings操作excel替换内容
    importosimporttkinter.filedialogimportxlwingsasxwclassSubstitute:path=tkinter.filedialog.askdirectory(title='!!!!!!!!!!!!!!!!!请选择excel存放路径')#修改此处替换文本,前为原文本,后为新文本,最后一组后面不需要逗号dict1={'购销合同':'买卖合同','货物运输合......
  • 离线文档(vue/react/element/element-plus/ands vue等等)
    特殊环境需要离线状态文档的请参考这里 可以在你所想要的东西在github的官方项目上找一个名字包含‘gh-page’或者‘get-page’的分支下载下来然后本地win+Rcmd输入npminstallsgo-g全局下载sgo之后在你下载下来的文件夹根目录cmd打开终端输入sgo--fallindex.html......
  • 深度学习3D分割综述文献
    前面介绍了3D目标检测的一些综述文献,这一篇接着介绍两篇3D分割的综述文献。第一篇是23年的《DeepLearningBased3DSegmentation:ASurvey》,第二篇是19年的《DeepLearningfor3DPointClouds:ASurvey》。第二篇主要是点云方面的文章,第一篇更加广泛全面,这里重点介绍第一篇......
  • 416. 分割等和子集
    给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的......
  • 如何将word文档转成pdf?教你三个简单方法
    在日常的工作和学习中,我们经常使用Word文档来编写报告、论文、简历等各种文档。然而,在某些情况下,为了确保文档的格式和内容的稳定性,或者方便在不同设备或平台上查看,我们可能需要将Word文档转换为PDF文件。本文将为您详细介绍word文档怎么转pdf的几种方法。一、使用MicrosoftWord......
  • PDF文档里的图片提取转文字
    最近需要处理一堆PDF文档,这堆PDF文档中有图片,并且需要提取出pdf中的图片来识别图片中的文字,老规矩先上代码:importosimportfitzimportpytesseractfromPILimportImage#设置TesseractOCR引擎的路径(根据你的系统环境修改)pytesseract.pytesseract.tesseract_cmd=r'C......
  • 如何防止内部文档外泄,Ftrans文档安全外发系统了解一下!
    文档安全外发系统是一种用于保护企业或组织内部敏感信息不被未授权外泄的技术解决方案,比如内部文件、报告、数据等信息发送给外部的个人或组织,这个过程需要谨慎处理,确保信息安全。以下是一些常见的文档外发方式:电子邮件:通过电子邮件附件的形式发送文档是最常见的外发方式之一。......
  • Spring Boot —— 集成文档工具
    Swagger->SpringDoc官网地址:https://springdoc.org/是基于OpenAPI3.0规范构建的集成SwaggerUI和ReDoc文档生成工具,可自动注入OpenAPI规范的JSON描述文件,支持OAUTH2、JWT等认证机制。推荐SpringBoot2.4及以上版本使用springdoc-openapi-ui集成Swagger3.x,SpringBoo......
  • winform开发excel
         Excel的二次开发方法有很多,下面主要介绍一个asponse.cell的使用方法,通过winform制造excel的小软件进行处理excel。 软件主要功能是先检查三个表中数据是否正确,比如是表头及列头等,然后将切割表和材料的数据进行组合,存放到数据跟踪表里。下面是加载到内存过程  ......