import pandas as pd from abc import ABC, abstractmethod from tkinter import messagebox class FlowParserBase(ABC): """银行流水解析器基类""" @abstractmethod def parse(self, flow_file_path): """解析银行流水文件,返回标准化的流水数据 Args: flow_file_path: 流水文件路径 Returns: DataFrame: 标准化的流水数据,包含以下列: - 交易时间 - 对方户名 - 摘要 - 收入 - 支出 - 对方开户机构 - 备注 - 余额 """ pass @abstractmethod def get_bank_name(self): """返回银行名称""" pass def _standardize_flow(self, flow_data): """标准化流水数据(子类可重写)""" return flow_data