From 382c579962055df472e77dc23c46f525cb7d46f0 Mon Sep 17 00:00:00 2001 From: bd6oc Date: Wed, 19 Nov 2025 17:09:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Epandas=E8=AF=BB=E5=8F=96excel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- excel_split.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/excel_split.py b/excel_split.py index b413eb4..1453c47 100644 --- a/excel_split.py +++ b/excel_split.py @@ -2,8 +2,8 @@ import sys from PySide6 import QtCore, QtGui, QtWidgets from PySide6.QtUiTools import QUiLoader from pathlib import Path -from PySide6.QtWidgets import QFileDialog, QMainWindow - +from PySide6.QtWidgets import QFileDialog, QMainWindow, QMessageBox, QLabel +import pandas as pd class MainWindows(QMainWindow): UI_FILE = 'ui/main_window.ui' @@ -12,6 +12,7 @@ class MainWindows(QMainWindow): self.ui = QUiLoader().load(self.UI_FILE) + self.ui.SelectFileBtn.clicked.connect(self.select_excel_file) # 点击选择文件按钮后,弹出选择EXCEL窗口。 @@ -25,10 +26,23 @@ class MainWindows(QMainWindow): # 选择EXCEL文件 file_path, _ = QFileDialog.getOpenFileName(None, caption, start_dir, filters) - if file_path: - self.ui.FileNameEdt.setText(str(file_path)) - print(file_path) + if not file_path: + return + self.ui.FileNameEdt.setText(str(file_path)) + + #使用pandas读取EXCEL文件 + try: + # 读取第一行表头 + df = pd.read_excel(file_path, nrows=0) # 不加载数据,只加载列名 + headers = list(df.columns) + except Exception as e: + QMessageBox.critical(self,"错误",f"读取文件失败:\n{e}") + return + #动态创建标签 + for col in headers: + lbl = QLabel(f"· {col}") + self.ui.addWidget() if __name__ == '__main__': UI_FILE = "uv/main_window.ui"