基于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


目录
打赏
0
0
0
0
7
分享
相关文章
从Excel到高级工具:数据分析进阶指南
从Excel到高级工具:数据分析进阶指南
166 54
|
2月前
|
在VScode环境下配置Python环境的方法
经过上述步骤,你的VSCode环境就已经配置好了。请尽情享受这扇你为自己开启的知识之窗。如同你在冒险世界中前行,你的探索之路只有越走越广,你获得的知识只会越来越丰富,你的能力只会越来越强。
253 37
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
130 23
手把手教你安装PyCharm 2025:开发者的Python IDE配置全流程+避坑指南
本教程详细介绍了PyCharm 2025版本在Windows系统下的安装流程及配置方法,涵盖AI代码补全与智能调试工具链等新功能。内容包括系统要求、安装步骤、首次运行配置(如主题选择与插件安装)、创建首个Python项目,以及常见问题解决方法。此外,还提供了切换中文界面和延伸学习资源的指导,帮助用户快速上手并高效使用PyCharm进行开发。
1985 61
Excel 后,我们需要怎样的数据分析软件
在现代商业中,数据分析至关重要,但传统BI工具和编程语言如Python、SQL等各有局限。Excel虽交互性强,但面对复杂计算和大数据时力不从心。esProc Desktop作为后Excel时代的数据分析神器,采用SPL语言,具备强大的表格计算能力和天然的大数据支持,可显著降低复杂计算难度。其强交互性、简短代码和内嵌Excel插件功能,让业务人员轻松完成多步骤交互式计算,是理想的数据分析工具。现提供免费使用及丰富学习资源。
Probly:开源 AI Excel表格工具,交互式生成数据分析结果与可视化图表
Probly 是一款结合电子表格功能与 Python 数据分析能力的 AI 工具,支持在浏览器中运行 Python 代码,提供交互式电子表格、数据可视化和智能分析建议,适合需要强大数据分析功能又希望操作简便的用户。
599 2
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
利用Python脚本自动备份网络设备配置
通过本文的介绍,我们了解了如何利用Python脚本自动备份网络设备配置。该脚本使用 `paramiko`库通过SSH连接到设备,获取并保存配置文件。通过定时任务调度,可以实现定期自动备份,确保网络设备配置的安全和可用。希望这些内容能够帮助你在实际工作中实现网络设备的自动化备份。
202 14
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
162 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等