基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)

简介: 基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)

一、项目简介

本项目是一套基于Python开发的Excel数据分析系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。

包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。

项目都经过严格调试,确保可以运行!

二、开发环境要求

本系统的软件开发及运行环境具体如下。

操作系统:Windows 7、Windows 10。

Python版本:Python 3.6。

可视化开发环境:PyCharm 2017.3.3。

界面设计工具:Qt Designer

Python内置模块:os、sys、glob、numpy。

第三方模块:PyQt5、pyqt5-tools、pandas、matplotlib、xlrd。

注意:在使用第三方模块时,首先需要使用pip install命令安装该模块,例如,安装PyQt5模块,可以在Python命令窗口中执行以下命令:

pip install pandas

三、系统功能

导入EXCEL

提取列表数据

定向筛选

多表合并

多表统计排行

生成图表

贡献度分析

退出

四、页面功能

在PyCharm中运行《Excel数据分析师》即可进入如图1所示的系统主界面。在该界面中,通过顶部的工具栏可以选择所要进行的操作

具体的操作步骤如下:

(1)导入Excel。单击工具栏中的“导入Excel”按钮,打开文件对话框选择文件夹,如XS1文件夹,系统将遍历该文件夹中的*.xls文件,并且将文件添加到列表区,效果如图2所示。

(2)提取列数据。单击工具栏中的“提取列数据”按钮,提取买家会员名、收货人姓名、联系手机和宝贝标题,效果如图3所示。提取后的数据将保存在程序所在目录下的mycell.xls文件中。

说明:“输出选项”可以选择数据分析结果要保存的位置,默认是程序所在文件夹。

(3)定向筛选。单击工具栏中的“定向筛选”按钮,筛选“零基础学Python”的用户信息,效果如图4所示。筛选后的数据将保存在程序所在目录下的mycell.xls文件中。

(4)多表合并。单击工具栏中的“多表合并”按钮,将列表中的Excel表全部合并成一个表,合并结果将保存在程序所在目录下的mycell.xls文件中。

(5)多表统计排行。单击工具栏中的“多表统计排行”按钮,按“宝贝标题”进行分组统计数量并进行排序,效果如图5所示。统计排行结果将保存在程序所在目录下的mycell.xls文件中。

(5)生成图表,该功能主要分析产品的贡献度。单击工具栏中的“生成图表”按钮,将全彩系列图书2018年上半年收入占80%的产品以图表形式展示,效果如图6所示。

五、部分代码展示

   #多表合并
    def click4(self):
        global root
        # 合并指定文件夹下的所有Excel表
        filearray = []
        filelocation = glob.glob(root+"\*.xls")
        for filename in filelocation:
            filearray.append(filename)
        res = pd.read_excel(filearray[0])
        for i in range(1, len(filearray)):
            A = pd.read_excel(filearray[i])
            res = pd.concat([res, A], ignore_index=False, sort=True)
        self.textEdit.setText(str(res.index))
        # 调用SaveExcel函数,将合并后的数据保存到Excel
        SaveExcel(res, self.rButton2.isChecked())
    #多表统计排行
    def click5(self):
        global root
        # 合并Excel表格
        filearray = []
        filelocation = glob.glob(root + "\*.xls")
        for filename in filelocation:
            filearray.append(filename)
        res = pd.read_excel(filearray[0])
        for i in range(1, len(filearray)):
            A = pd.read_excel(filearray[i])
            res = pd.concat([res, A], ignore_index=False, sort=True)
        # 分组统计排序
        # 通过reset_index()函数将groupby()的分组结果转成DataFrame对象
        df = res.groupby(["宝贝标题"])["宝贝总数量"].sum().reset_index()
        df1 = df.sort_values(by='宝贝总数量', ascending=False)
        self.textEdit.setText(str(df1))
        # 调用SaveExcel函数,将统计排行结果保存到Excel
        SaveExcel(df1, self.rButton2.isChecked())
    def click6(self):
        global root
        # 合并Excel表格
        filearray = []
        filelocation = glob.glob(root + "\*.xls")
        for filename in filelocation:
            filearray.append(filename)
        res = pd.read_excel(filearray[0])
        for i in range(1, len(filearray)):
            A = pd.read_excel(filearray[i])
            res = pd.concat([res, A], ignore_index=False, sort=True)
        # 分组统计排序
        # 通过reset_index()函数将groupby()的分组结果转成DataFrame对象
        df=res[(res.类别=='全彩系列')]
        df1 = df.groupby(["图书编号"])["买家实际支付金额"].sum().reset_index()
        df1 = df1.set_index('图书编号')  # 设置索引
        df1 = df1[u'买家实际支付金额'].copy()
        df2=df1.sort_values(ascending=False)  # 排序
        SaveExcel(df2, self.rButton2.isChecked())
        # 图表字体为华文细黑,字号为12
        plt.rc('font', family='SimHei', size=10)
        #plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
        plt.figure("贡献度分析")
        df2.plot(kind='bar')
        plt.ylabel(u'销售收入(元)')
        p = 1.0*df2.cumsum()/df2.sum()
        print(p)
        p.plot(color='r', secondary_y=True, style='-o', linewidth=0.5)
        #plt.title("图书贡献度分析")
        plt.annotate(format(p[9], '.4%'), xy=(9, p[9]), xytext=(9 * 0.9, p[9] * 0.9),
                    arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.1"))  # 添加标记,并指定箭头样式。
        plt.ylabel(u'收入(比例)')
        plt.show()
    #单击“浏览”按钮选择文件存储路径
    def viewButton_click(self):
        global temproot
        temproot = QFileDialog.getExistingDirectory(self, "选择文件夹", "/")
        self.text1.setText(temproot)

六、源码地址

https://download.csdn.net/download/weixin_43860634/88335427


相关文章
|
4月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
368 0
|
7月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
5月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
655 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
5月前
|
机器学习/深度学习 数据采集 算法
基于mediapipe深度学习的运动人体姿态提取系统python源码
本内容介绍了基于Mediapipe的人体姿态提取算法。包含算法运行效果图、软件版本说明、核心代码及详细理论解析。Mediapipe通过预训练模型检测人体关键点,并利用部分亲和场(PAFs)构建姿态骨架,具有模块化架构,支持高效灵活的数据处理流程。
|
5月前
|
JSON 缓存 开发者
淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战
本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
|
5月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
6月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
182 6
|
7月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
7月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能

推荐镜像

更多