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)
#
# ###===========读取
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Python在数据分析和处理方面具有广泛的应用,下面是对这个过程的描述: 数据获取:首先,需要获取要分析和处理的数据。这可以包括从数据库、文件(如CSV、Excel等)、API接口或网络爬取等方式获取数据。 数据清洗与预处理:对于获取的数据,可能存在缺失值、异常值、重复值等问题。在数据分析前,需要进行数据清洗和预处理,包括填充缺失值、处理异常值、去除重复值等操作。 数据探索与可视化:通过使用Python中的数据分析库(如Pandas、NumPy)和可视化库(如Matplotlib、Seaborn)对数据进行探索和可视化。这包括统计摘要、数据分布、相关性分析、绘制图表等。 特征工程:在一些情况下,需要对原始数据进行特征提取、转换和选择,以便更好地适应机器学习算法或模型。例如,通过编码分类变量、进行特征缩放或选择最具影响力的特征等操作。 数据建模与分析:使用Python中的机器学习库(如Scikit-learn、TensorFlow)或统计库(如Statsmodels)构建模型并进行数据分析。这可能涉及训练模型、模型评估、预测和推断等操作。 结果解释与报告:根据分析结果,解释和
资源推荐
资源详情
资源评论
收起资源包目录
python数据分析与处理.zip (1个子文件)
python数据分析与处理
excelUI.py 10KB
共 1 条
- 1
资源评论
童小纯
- 粉丝: 3w+
- 资源: 289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功