iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么用PyQt5制作Excel数据分组汇总器
  • 456
分享到

怎么用PyQt5制作Excel数据分组汇总器

2023-06-26 05:06:08 456人浏览 泡泡鱼
摘要

这篇文章主要讲解了“怎么用PyQt5制作excel数据分组汇总器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PyQt5制作Excel数据分组汇总器”吧!在写数据汇总分组工具之前梳理一

这篇文章主要讲解了“怎么用PyQt5制作excel数据分组汇总器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PyQt5制作Excel数据分组汇总器”吧!

在写数据汇总分组工具之前梳理一下需求,要求一:能够将excel的数据展示到列表中。要求二:能够支持按列汇总数据,并且多列分组汇总。要求三:能够预览分组汇总以后的数据,最后将分好组汇总的数据保存到新的excel数据文件中。

怎么用PyQt5制作Excel数据分组汇总器

主要使用到第三方python模块有下面这些,和前面几个 PyQt5 应用不同的是这次增加了一个样式模块 qdarkstyle ,通过最后将这个模块直接加入到 QApplication 中就可以显示成黑色酷酷的应用了。这个样式我个人是比较喜欢的...

'''应用操作库'''import sysimport os'''应用样式库'''from qdarkstyle import load_stylesheet_pyqt5'''UI界面库'''from PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *'''数据提取库'''import pandas as pd

编写 UI 界面组件布局,UI 布局函数 init_ui()。init_ui() 的函数整体内容都贴在下面这里,大佬们可以根据自己的需要随意发挥。

  def init_ui(self):        # 标题、图标设置        self.setWindowTitle('Excel数据汇总工具   公众号:[Python 集中营]')        self.setWindowIcon(QIcon(':/data_sum.ico'))        # 初始化水平布局        hbox = QHBoxLayout()        # 初始化栅格布局        grid = QGridLayout()        self.data_source_text = QLineEdit()        self.data_source_text.setReadOnly(True)        self.data_source_btn = QPushButton()        self.data_source_btn.setText('数据')        self.data_source_btn.clicked.connect(self.data_source_btn_click)        self.data_group_column = QLabel()        self.data_group_column.setText('设置分组列')        self.data_group_column_text = QLineEdit()        self.data_group_column_text.setPlaceholderText('列名1,列名2...')        self.save_dir_text = QLineEdit()        self.save_dir_text.setReadOnly(True)        self.save_dir_btn = QPushButton()        self.save_dir_btn.setText('路径')        self.save_dir_btn.clicked.connect(self.save_dir_btn_click)        self.view_data_btn = QPushButton()        self.view_data_btn.setText('预览数据')        self.view_data_btn.clicked.connect(self.view_data_btn_click)        self.save_data_btn = QPushButton()        self.save_data_btn.setText('保存')        self.save_data_btn.clicked.connect(self.save_data_btn_click)        grid.addWidget(self.data_source_text, 0, 0, 1, 2)        grid.addWidget(self.data_source_btn, 0, 2, 1, 1)        grid.addWidget(self.data_group_column, 1, 0, 1, 1)        grid.addWidget(self.data_group_column_text, 1, 1, 1, 2)        grid.addWidget(self.save_dir_text, 2, 0, 1, 2)        grid.addWidget(self.save_dir_btn, 2, 2, 1, 1)        grid.addWidget(self.view_data_btn, 3, 0, 1, 2)        grid.addWidget(self.save_data_btn, 3, 2, 1, 1)        self.table_view = QTableView()        self.table_view.setFixedWidth(500)        self.table_view.setFixedHeight(100)        hbox.addWidget(self.table_view)        hbox.addLayout(grid)        self.setLayout(hbox)

槽函数总共使用了四个,分别是下面这些。

save_data_btn_click:将分组汇总后的 DataFrame 数据直接保存。

data_source_btn_click:用来加载需要分组汇总的 excel 文件的,并将加载出来的 DataFrame 数据直接显示到 QTableView 的组件上面,这样可以实时的看见加载进来的原始数据。

save_dir_btn_click:点击选择存储路径时触发的槽函数,用来调起 QFileDialog 来选择文件路径。

view_data_btn_click:调起预览分组汇总后的数据,将分组后的数据显示到窗口上。

槽函数 data_source_btn_click,加载 excel 源数据。

    def data_source_btn_click(self):        xlsx_file = QFileDialog.getOpenFileName(self, '选择文件', self.cwd, 'Excel File(*.xlsx)')        self.data_source_text.setText(xlsx_file[0])        self.data_frame = pd.read_excel(self.data_source_text.text().strip())        print(self.data_frame)        model = TableModelView(self.data_frame)        self.table_view.setModel(model)

槽函数 save_data_btn_click,保存最终的 excel 数据。

    def save_data_btn_click(self):        dir = self.save_dir_text.text().strip()        self.data_frame_group.to_excel(dir + 'group_data.xlsx',sheet_name='数据信息汇总')

槽函数 view_data_btn_click,预览分组汇总的数据。

    def view_data_btn_click(self):        columns = self.data_group_column_text.text().strip()        column_list = []        if columns != '':            column_list = columns.split(',')        self.data_frame_group = self.data_frame.groupby(column_list, as_index=False).sum()        print(self.data_frame_group)        model = TableModelView(self.data_frame_group)        self.table_view.setModel(model)

槽函数 save_dir_btn_click,存储文件选择。

    def save_dir_btn_click(self):        save_path = QFileDialog.getExistingDirectory(self, '选择文件夹', self.cwd)        self.save_dir_text.setText(save_path + '/')

感谢各位的阅读,以上就是“怎么用PyQt5制作Excel数据分组汇总器”的内容了,经过本文的学习后,相信大家对怎么用PyQt5制作Excel数据分组汇总器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 怎么用PyQt5制作Excel数据分组汇总器

本文链接: https://www.lsjlt.com/news/306980.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用PyQt5制作Excel数据分组汇总器
    这篇文章主要讲解了“怎么用PyQt5制作Excel数据分组汇总器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用PyQt5制作Excel数据分组汇总器”吧!在写数据汇总分组工具之前梳理一...
    99+
    2023-06-26
  • 基于PyQt5制作Excel数据分组汇总器
    在写数据汇总分组工具之前梳理一下需求,要求一:能够将excel的数据展示到列表中。要求二:能够支持按列汇总数据,并且多列分组汇总。要求三:能够预览分组汇总以后的数据,最后将分好组汇总...
    99+
    2024-04-02
  • excel数据透视表分类汇总怎么制作
    这篇文章主要介绍“excel数据透视表分类汇总怎么制作”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“excel数据透视表分类汇总怎么制作”文章能帮助大家解决问题。excel数据透视表做分类汇总的方法...
    99+
    2023-07-02
  • 怎么使用PyQt5制作一个数据图表生成器
    这篇文章主要介绍了怎么使用PyQt5制作一个数据图表生成器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我的需求:手动配置X轴、Y轴、图表标题等参数自动通过Pyecharts...
    99+
    2023-06-29
  • Excel数据透视表怎么制作
    这篇文章主要介绍“Excel数据透视表怎么制作”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Excel数据透视表怎么制作”文章能帮助大家解决问题。数据透视表制作方法:首先,我们选中需要制作数据表的所...
    99+
    2023-07-02
  • python怎么将100个Excel中符合条件的数据汇总到1个Excel里
    首先下载这个库:pip install poexcel然后调用这个库:# 导入这个库 import poexcel poexcel.query4excel(query_content='必填,需要查询的内容', ...
    99+
    2023-05-16
    Python Excel
  • 怎么用PyQt5制作一个猜数字小游戏
    今天小编给大家分享一下怎么用PyQt5制作一个猜数字小游戏的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。开始之前,直接来看一...
    99+
    2023-06-29
  • Numpy库常用函数汇总:实现数据分析与建模的利器
    Numpy是Python中最常用的数学库之一,它集成了许多最佳的数学函数和操作。Numpy的使用非常广泛,包括统计、线性代数、图像处理、机器学习、神经网络等领域。在数据分析和建模方面,Numpy更是必不可少的工具之一。本文将分享...
    99+
    2024-01-19
    数据分析 Numpy 建模
  • 怎么用Python中的PyQt5制作一个获取网络实时数据NBA数据播报GUI功能
    这篇文章主要讲解了“怎么用Python中的PyQt5制作一个获取网络实时数据NBA数据播报GUI功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python中的PyQt5制作一个获取...
    99+
    2023-06-20
  • C#中怎么使用Spire.XLS来操作Excel数据
    这篇“C#中怎么使用Spire.XLS来操作Excel数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#中怎么使用Spi...
    99+
    2023-07-05
  • Linq数据分组怎么使用
    本篇内容主要讲解“Linq数据分组怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linq数据分组怎么使用”吧!Linq数据分组(GROUP BY)根据元素的一个或多个字段对查询结果中的元...
    99+
    2023-06-17
  • 数据库中PARTITION BY分组怎么用
    小编给大家分享一下数据库中PARTITION BY分组怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我在自己的SCHEMA...
    99+
    2024-04-02
  • 使用Python怎么操作Excel实现自动分组合并单元格
    这篇文章主要介绍了使用Python怎么操作Excel实现自动分组合并单元格,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!df.to_excel('test.xlsx',index=Fal...
    99+
    2023-06-06
  • python数据分析之怎么用pandas搞定Excel表格
    本篇内容主要讲解“python数据分析之怎么用pandas搞定Excel表格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python数据分析之怎么用pandas搞定Excel表格”吧!(一)读...
    99+
    2023-06-30
  • 怎么使用java制作假数据接口
    小编给大家分享一下怎么使用java制作假数据接口,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用java制作假数据接口前端页面想得到abc的接口其中包括传输过来的数据为name:lixiang、sex:男、111:1;&...
    99+
    2023-06-22
  • 怎么用json数据来制作商城的产品分类菜单
    这篇文章主要讲解了“怎么用json数据来制作商城的产品分类菜单”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用json数据来制作商城的产品分类菜单”吧!...
    99+
    2024-04-02
  • 怎么使用Python制作一个数据大屏
    本篇内容主要讲解“怎么使用Python制作一个数据大屏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Python制作一个数据大屏”吧!PywebIO介绍Python当中的PywebIO模...
    99+
    2023-07-06
  • AngularJs中控制器、数据绑定、作用域的示例分析
    小编给大家分享一下AngularJs中控制器、数据绑定、作用域的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、控制器:概念:在angularJS中控制器是一个函数,用来向视图的...
    99+
    2024-04-02
  • 数据库分组查询语句怎么使用
    在数据库中使用分组查询语句可以对数据进行分组并对每个分组进行聚合操作。常用的分组查询语句是使用SELECT语句结合GROUP...
    99+
    2023-09-15
    数据库
  • Python数据分析之堆叠数组函数怎么使用
    今天小编给大家分享一下Python数据分析之堆叠数组函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。numpy 堆...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作