在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所示。
部分源码如下,其余完整详见下载。
#自定义函数SaveExcel用于保存数据到Excel def SaveExcel(df,isChecked): # 将提取后的数据保存到Excel if (isChecked): writer = pd.ExcelWriter('mycell.xls') else: global temproot writer = pd.ExcelWriter(temproot + '/mycell.xls') df.to_excel(writer, 'sheet1') writer.save() class Ui_MainWindow(QtWidgets.QWidget): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(838, 596) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.list1 = QtWidgets.QListView(self.centralwidget) self.list1.setGeometry(QtCore.QRect(1, 1, 171, 401)) self.list1.setObjectName("list1") self.text1 = QtWidgets.QTextEdit(self.centralwidget) self.text1.setGeometry(QtCore.QRect(110, 450, 631, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.text1.sizePolicy().hasHeightForWidth()) self.text1.setSizePolicy(sizePolicy) self.text1.setObjectName("text1") self.viewButton = QtWidgets.QPushButton(self.centralwidget) self.viewButton.setGeometry(QtCore.QRect(746, 450, 75, 23)) self.viewButton.setObjectName("viewButton") self.textEdit = QtWidgets.QTextEdit(self.centralwidget) self.textEdit.setGeometry(QtCore.QRect(170, 0, 661, 401)) #水平滚动条 self.textEdit.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) self.textEdit.setObjectName("textEdit") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 838, 23)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBar = QtWidgets.QToolBar(MainWindow) self.toolBar.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0)