python数据分析与处理
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import * from PyQt5.QtCore import * import pandas as pd import numpy as np from tkinter import messagebox import win32api,win32con from tkinter import * class Ui_MainWindow(QMainWindow): def __init__(self): super(QtWidgets.QMainWindow,self).__init__() self.setupUi(self) self.retranslateUi(self) def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(666, 680) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.retranslateUi(MainWindow) self.tableWidget = QtWidgets.QTableWidget(self.centralWidget) self.tableWidget.setGeometry(QtCore.QRect(0, 60, 813, 371)) self.tableWidget.setObjectName("tableWidget") self.tableWidget.setColumnCount(0) self.tableWidget.setRowCount(0) self.tableWidget.setStyleSheet("selection-background-color:pink") self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tableWidget.raise_() # self.tableWidget_1 = QtWidgets.QTableWidget(self.centralWidget_1) # self.tableWidget_1.setGeometry(QtCore.QRect(0, 450, 813, 200)) # self.tableWidget_1.setObjectName("tableWidget") # self.tableWidget_1.setColumnCount(0) # self.tableWidget_1.setRowCount(0) # self.tableWidget_1.setStyleSheet("selection-background-color:pink") # self.tableWidget_1.setEditTriggers(QAbstractItemView.NoEditTriggers) # self.tableWidget_1.raise_() self.pushButton = QtWidgets.QPushButton(self.centralWidget) self.pushButton.setGeometry(QtCore.QRect(20, 20, 75, 23)) self.pushButton.setObjectName("pushButton") self.pushButton.setText("打开") self.pushButton_1 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_1.setGeometry(QtCore.QRect(100, 20, 130, 23)) self.pushButton_1.setObjectName("pushButton") self.pushButton_1.setText("筛选31个周期数据") self.pushButton_2 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_2.setGeometry(QtCore.QRect(230, 20, 130, 23)) self.pushButton_2.setObjectName("pushButton") self.pushButton_2.setText("拟合求极化参数") self.pushButton_3 = QtWidgets.QPushButton(self.centralWidget) self.pushButton_3.setGeometry(QtCore.QRect(360, 20, 130, 23)) self.pushButton_3.setObjectName("pushButton") self.pushButton_3.setText("极化参数拟合") MainWindow.setCentralWidget(self.centralWidget) QtCore.QMetaObject.connectSlotsByName(MainWindow) self.pushButton.clicked.connect(self.openfile) self.pushButton.clicked.connect(self.creat_table_show) self.pushButton_1.clicked.connect(self.select_31) self.pushButton_1.clicked.connect(self.select_31_table_show) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "BMS数据预处理")) def openfile(self): ###获取路径=================================================================== openfile_name = QFileDialog.getOpenFileName(self,'选择文件','','Excel files(*.xlsx , *.xls)') #print(openfile_name) global path_openfile_name global data global b global s ###获取路径==================================================================== path_openfile_name = openfile_name[0] def creat_table_show(self): ###===========读取表格,转换表格,=========================================== if len(path_openfile_name) > 0: # ##===========读取表格,转换表格,=========================================== # data = pd.read_excel(path_openfile_name) # Adata = pd.DataFrame(data) # Bdata = Adata[Adata['x'] == 0] # cycle = int(len(Bdata) / 11) # Cdata = {} # # for i in range(cycle): # b = Bdata.loc[i * 14 4:i * 14 9] # b.to_excel('C:\\Users\\xyy\\Desktop\\119.xlsx') # # input_table = b input_table = pd.read_excel(path_openfile_name) #print(input_table) input_table_rows = input_table.shape[0] input_table_colunms = input_table.shape[1] #print(input_table_rows) #print(input_table_colunms) input_table_header = input_table.columns.values.tolist() #print(input_table_header) ###===========读取表格,转换表格,============================================ ###======================给tablewidget设置行列表头============================ self.tableWidget.setColumnCount(input_table_colunms) self.tableWidget.setRowCount(input_table_rows) self.tableWidget.setHorizontalHeaderLabels(input_table_header) ###======================给tablewidget设置行列表头============================ ###================遍历表格每个元素,同时添加到tablewidget中======================== for i in range(input_table_rows): input_table_rows_values = input_table.iloc[[i]] #print(input_table_rows_values) input_table_rows_values_array = np.array(input_table_rows_values) input_table_rows_values_list = input_table_rows_values_array.tolist()[0] #print(input_table_rows_values_list) for j in range(input_table_colunms): input_table_items_list = input_table_rows_values_list[j] #print(input_table_items_list) # print(type(input_table_items_list)) ###==============将遍历的元素添加到tablewidget中并显示======================= input_table_items = str(input_table_items_list) newItem = QTableWidgetItem(input_table_items) newItem.setTextAlignment(Qt.AlignHCenter|Qt.AlignVCenter) self.tableWidget.setItem(i, j, newItem) ###================遍历表格每个元素,同时添加到tablewidget中======================== else: self.centralWidget.show() def select_31(self): ###===========读取表格,转换表格,=========================================== data = pd.read_excel(path_openfile_name) Adata = pd.DataFrame(data) Bdata = Adata[Adata['x'] == 0] cycle = int(len(Bdata) / 11) Cdata = {} for i in range(cycle): b = Bdata.loc[i * 14 4:i * 14 9] b.to_excel('C:\\Users\\xyy\\Desktop\\150.xlsx') def select_31_table_show(self): if len(pd.read_excel('C:\\Users\\xyy\\Desktop\\150.xlsx'))>0: win32api.MessageBox(0, "success,请到路径C:\\Users\\xyy\\Desktop\\150.xlsx查看表格", "提醒", win32con.MB_OK) else: win32api.MessageBox(0, "error", "提醒", win32con.MB_OK) # self.centralWidget.close() # # ###===========读取表格,转换表格,=========================================== # if len(path_openfile_name) > 0: # input_table = b # #print(input_table) # input_table_rows = input_table.shape[0] # input_table_colunms = input_table.shape[1] # #print(input_table_rows) # #print(input_table_colunms) # input_table_header = input_table.columns.values.tolist() # #print(input_table_header) # # ###===========读取表格,转换表格,============================================ # ###======================给tablewidget设置行列表头============================ # # self.tableWidget.setColumnCount(input_table_colunms) # self.tableWidget.setRowCount(input_table_rows) # self.tableWidget.setHorizontalHeaderLabels(input_table_header) # # ###======================给tablewidget设置行列表头============================ # # ###================遍历表格每个元素,同时添加到tablewidget中======================== # for i in range(input_table_rows): # input_table_rows_values = input_table.iloc[[i]] # #print(input_table_rows_values) # input_table_rows_values_array = np.array(input_table_rows_values) # input_table_rows_values_list = input_table_rows_values_array.tolist()[0] # #print(input_table_rows_values_list) # for j in range(input_table_colunms): # input_table_items_list = input_table_rows_values_list[j] # #print(input_table_items_list) # # print(type(input_table_items_list)) # # ###==============将遍历的元素添加到tablewidget中并显示======================= # # input_table_items = str(input_table_items_list) # newItem = QTableWidgetItem(input_table_items) # newItem.setTextAlignment(Qt.AlignHCenter|Qt.AlignVCenter) # self.tableWidget.setItem(i, j, newItem) # # ###================遍历表格每个元素,同时添加到tablewidget中======================== # else: # self.centralWidget.show() if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())