class excleOPen(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
self.setupUi(self)
def excel_open(self):
# 使用pyqt5,選擇將要打開的excel文件
result = QFileDialog.getOpenFileName(self, "選擇一個excel文件", "./", "excel(*.xls *.xlsx)")
fileName = result[0]
# 用文本框顯示將要打開的文件路徑
self.lineEdit.setText(fileName)
df = pd.read_excel(fileName, index_col='ID')
# 將重復項全部刪除
data_no_duplicates = df.drop_duplicates(subset='name', keep=False)
# 只保留第一個重復行
data_first_duplicates = df.drop_duplicates(subset='name', keep='first')
# 無重復項的集合與只留第一個的集合的差集,即重復行
data_duplicate = data_first_duplicates.append(data_no_duplicates).drop_duplicates(keep=False)
# 顯示所有重復行,查看重復的數據,做到心中有數
data_duplicates = data_no_duplicates.append(df).drop_duplicates(keep=False)
# 下面兩行構建新的excel的路徑
OldFileName = fileName.split('.x')
NewFileName = OldFileName[0]+ '_new.x' + OldFileName[1]
# 下面這一行生成新的excel
# data_first_duplicates.to_excel(NewFileName)
# 查找功能實現
screen = df.loc[df['name'].str.contains('四')]
print(screen)
excel原型:

