学习PyQt6(三) 合并excel文件 您所在的位置:网站首页 listwidget获取行数 学习PyQt6(三) 合并excel文件

学习PyQt6(三) 合并excel文件

2023-03-09 01:15| 来源: 网络整理| 查看: 265

新建excel_utils.py文件:

import pandas as pd import os def merge_excels(excel_paths, output_path): """ 合并不同的excel到一个 :param excel_paths: 列表,多个excel路径 :param output_path: 合并后的excel路径 """ df_list = [] for excel_path in excel_paths: if not os.path.exists(excel_path): continue cont = pd.read_excel(excel_path) df_list.append(cont) df_all = pd.concat(df_list) df_all.to_excel(output_path, index=False) if __name__ == "__main__": excel_paths = ["./test1.xlsx", './test2.xlsx'] output_path = 'test.xlsx' merge_excels(excel_paths, output_path)

Qt设计师设计UI界面,记得修改窗体和控件的object属性和改变样式表

改变样式表的内容为:

QPushButton{ font-size:16px; color:rgb(255, 255, 255); background-color:rgb(255, 0, 255) } QLabel{ font-size:16px; font-weight:bold; }

新建excel_merger_main.py

import os import sys from PyQt6.QtWidgets import QApplication, QDialog, QFileDialog, QMessageBox import excel_merger import excel_utils class MyExcelMerger(excel_merger.Ui_ExcelMerger, QDialog): def __init__(self): super(MyExcelMerger, self).__init__() self.setupUi(self) self.show() self.pushButton_choose_dir.clicked.connect(self.do_choose_dir) self.pushButton_remove_excel.clicked.connect(self.do_remove_excel) self.pushButton_domerge_andsave.clicked.connect(self.do_merge_and_save) def do_choose_dir(self): file_dir = QFileDialog.getExistingDirectory(self, "请选择目录", os.getcwd()) self.lineEdit_dirpath.setText(file_dir) excel_paths = [] for fname in os.listdir(file_dir): if fname.startswith('~$'): continue if fname.endswith('.xlsx'): excel_paths.append(os.path.join(file_dir, fname)) self.listWidget_excel_path.clear() self.listWidget_excel_path.addItems(excel_paths) def do_remove_excel(self): item = self.listWidget_excel_path.currentItem() if item: row = self.listWidget_excel_path.row(item) self.listWidget_excel_path.takeItem(row) def do_merge_and_save(self): if self.listWidget_excel_path.count() == 0: QMessageBox.warning(self, "信息提示", '要合并的列表为空') return excel_paths = [] for idx in range(self.listWidget_excel_path.count()): item = self.listWidget_excel_path.item(idx) excel_paths.append(item.text()) output_path, file_type = QFileDialog.getSaveFileName(self, "请保存文件", os.getcwd(), "Excel files (*.xlsx)") excel_utils.merge_excels(excel_paths, output_path) QMessageBox.information(self, "信息提示", '执行成功') if __name__ == '__main__': app = QApplication(sys.argv) myExcelMerger = MyExcelMerger() sys.exit(app.exec())

运行excel_merger_main.py,选择目录

选择要移除的文件,点击移除文件

选择保存路径

执行合并



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有