产品狗的Python之路(2):excel表格拆分程序
使用tkinter将excel表格拆分脚本制作了GUI,并使用pyinstaller封装成了桌面程序

import tkinter as tk
import openpyxl # v2.0 版本规划;
# 增加文件不存在的时候的报错;
# 优化布局展示;
# 优化绝对路径取值;
# 支持更多表格格式;#!/usr/bin/python
# -*- coding: UTF-8 -*-
def excut_input():excel_name=cut_input_excelname.get()excel_num=cut_input_excelnum.get()excut_main(excel_name,excel_num)def excut_main(excel_name_input,excel_num_input):#填入文件名excel_name_open=excel_name_input+".xlsx"# 读取对应excel文件,应加入错误提示,待优化try:workbook=openpyxl.load_workbook(filename=excel_name_open)sheet_origin = workbook.active  #获取活跃的表格#获取原表格中300条数据,并复制到新表格nrows = sheet_origin.max_row  # 行数ncols = sheet_origin.max_column  # 列数#总共需要多少excellimit=int(excel_num_input)sheets = nrows / limit       if not sheets.is_integer():  #如果不是整除则需要+1sheets = int(sheets) + 1for i in range(1,sheets+1):wb =openpyxl.Workbook()sheet = wb['Sheet']# 写入第一行数据for n in range(1,ncols+1):sheet.cell(row=1,column=n).value=sheet_origin.cell(row=1,column=n).value# 写入范围内数据t=2+limit*(i-1)num_index=2for row_num in range(t,t+limit+1):for col_num in range(1,ncols+1) :sheet.cell(row=num_index,column=col_num).value=sheet_origin.cell(row=row_num,column=col_num).valuenum_index=num_index+1wb.save("{excelname}.xlsx".format(excelname=i))  alert_sucess=tk.Tk()alert_sucess.geometry('300x150')alert_sucess.title('数据拆分结果')txt_alert=tk.Label(alert_sucess,text='已完成数据拆分')txt_alert.pack()except:alert_error=tk.Tk()alert_error.geometry('300x150')alert_error.title('数据拆分结果')txt_alert_error=tk.Label(alert_error,text='拆分失败,请查看输入文件是否满足要求')txt_alert_error.pack()window=tk.Tk()
window.title('数据拆分')
window.geometry('300x150')fm_all = tk.Frame(window)
fm_all.pack(fill='both',expand='yes')fm1 = tk.Frame(fm_all)
txt_first=tk.Label(fm1,text='输入文件名,需为xlsx格式')
txt_first.pack(side='top', anchor='w', fill='both',ipady=2,  expand='no')
txt_sec=tk.Label(fm1,text='输入希望以多少行来拆分')
txt_sec.pack(side='top', anchor='w', fill='both',ipady=2, expand='no')
fm1.pack(side='left',padx=2,expand='yes')fm2 = tk.Frame(fm_all)
cut_input_excelname=tk.Entry(fm2)
cut_input_excelname.pack(side='top', anchor='w', fill='x',ipady=2, expand='yes')
cut_input_excelnum=tk.Entry(fm2)
cut_input_excelnum.pack(side='top', anchor='w', fill='x',ipady=2, expand='yes')
fm2.pack(side='right',padx=2,expand='yes')fm3 = tk.Frame(window)
cut_button=tk.Button(fm3,text='拆分文件',width=100,height=2,bg='#FFC125',
activebackground='#FF7F24',
activeforeground='#FFA500',command=excut_input)                      #excut是要执行的函数
cut_button.pack(side='bottom', anchor='w')
fm3.pack(side='bottom')window.mainloop()

程序下载链接:
链接:https://pan.baidu.com/s/1qQx4qnxgHYDJJVT1tOQbVg
提取码:ezto

产品狗的Python之路(2):excel表格拆分桌面小程序相关推荐

  1. 产品狗的Python之路(1):按照行数将excel表格拆分成多个

    产品狗的Python之路 (1):使用python将excel表格拆分成多个 背景: 因公司内部数据导入系统限制每一次导入的数据行数,故经常需要将一个几万行的表格拆分成多个,费事费力,所以写了一个小程 ...

  2. 使用python将数据导出excel表格

      python可用于数据分析,有时候获得了数据需要导出以作其他作用.本文就介绍python导出excel表格的方法.   导出excel表格,python提供了两个库:xlwt,xlrd.本文只讨论 ...

  3. Python对比VBA实现excel表格合并与拆分

    1.Excel表格合并 我们在日常工作中经常会导出一些数据,但是这些数据较大可能是按照某个分类形成的单独表格,比如每一天的数据,每个品牌的数据等. 但是,我们在进行数据分析的时候可能往往需要对这些数据 ...

  4. python中用pandas读写excel表格,根据关键字查找填表(类似vlookpup)

    python中用pandas读写excel表格,根据关键字查找填表(类似vlookpup) excel的vlookup出了N/A值 相关的库 读取和写入excel文件 查找赋值1 遍历表格每行 查找填 ...

  5. python使用openpyxl处理excel表格数据

    python使用openpyxl处理excel表格数据 前言 一.安装openpyxl包 二.读取excel数据 1. 获取excel表格的页码 2. 获取excel表格某一行的数据 3. 获取exc ...

  6. python怎么合并多个excel表 视频_()如何用python合并两个excel表格

    ()如何用python合并两个excel表格 python合并excel表格视频教程2020-09-25 04:04:33人已围观 python实现excel合并 Created on Mon Mar ...

  7. excel表格拆分多个表如何快速完成?

    今天跟大家分享一下excel表格拆分多个表如何快速完成? 1.打开演示文件,要求将表格按照单位的不同拆分为多个工作簿. 2.第一步我们点击如下图选项 3.鼠标依次点击[汇总拆分]-[拆分工作表] 4. ...

  8. excel表格拆分怎么做?

    今天跟大家分享一下excel表格拆分怎么做? 1.打开演示文件,要求将表格按照类别不同拆分开. 2.首先我们点击下图选项 3.点击[汇总拆分]-[拆分工作表] 4.在[表头行数]选项中录入1 5.[关 ...

  9. excel表格拆分多个表

    今天跟大家分享一下excel表格拆分多个表 1.打开Excel软件,如下图要求快速将表格按照月份拆分开. 2.首先我们点击如下图选项 3.点击[汇总拆分],选择[拆分工作表] 4.将[表头行数]设置为 ...

最新文章

  1. mysql启动后在哪里编程_启动mysql后怎么连接数据库
  2. 为什么阿里巴巴建议集合初始化时,指定集合容量大小
  3. 超实用的浏览器插件:CSDN 一键搜索、自定义工具、全站去广告、一键美化等
  4. CMOS模拟集成电路版图设计课程
  5. word2007修复工具_使用Word 2007作为博客工具
  6. Python 爬虫 ~ Prison Oriented Programming。
  7. pr转场 18种不同风格图形元素小故障视频过渡pr视频转场模板
  8. twaver API笔记
  9. 怎么设置ppt页面的长度和宽度_ppt页面尺寸_ppt尺寸大小的设置方法步骤详解
  10. Insecure Randomness引发对随机数生成器抵挡加密攻击的方法
  11. 一点点读懂thermal(一)
  12. python atan_Python代码中atan()函数有什么功能呢?
  13. 用微信扫一扫功能扫描二维码下载安装APK不能用,不能打开APK下载链接的解决方案
  14. Binary XML file line #2 in com.example.helloworld:layout/activity_main: Binary XML file line #2 in c
  15. ICCV2019(Segmentation):ShelfNet-论文解读《ShelfNet for Fast Semantic Segmentation》
  16. 最齐全的Cocos2D Cocos creator Cocos2Dx游戏源代码素材,速来收藏
  17. 在自己项目或者 vue 中使用可爱的二次元((Live2D)
  18. 2019-7-29-PowerShell-拿到显卡信息
  19. STM32学习之PWM输出
  20. Web经典BS快速开发框架,强大后台+简洁UI一体化开发工具

热门文章

  1. 挑选适合自己的乒乓球拍【转】
  2. 云服务器系统设计,云服务器 用户系统设计
  3. 目标-过程-结果经验分享及OKR工作法
  4. 基于微信小程序小说图书商城管理系统(微信小程序毕业设计)
  5. Mac 锦囊 —— 误删除admin组之后
  6. oracle用plsql导出dmp文件
  7. 手机:运行内存,机身内存,内存卡的区分
  8. word中mathtype公式编辑
  9. python绘制直线的垂线_p countour中的Python垂直线
  10. 【社区图书馆】vue的生命周期