flow_parser_base.py 934 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import pandas as pd
  2. from abc import ABC, abstractmethod
  3. from tkinter import messagebox
  4. class FlowParserBase(ABC):
  5. """银行流水解析器基类"""
  6. @abstractmethod
  7. def parse(self, flow_file_path):
  8. """解析银行流水文件,返回标准化的流水数据
  9. Args:
  10. flow_file_path: 流水文件路径
  11. Returns:
  12. DataFrame: 标准化的流水数据,包含以下列:
  13. - 交易时间
  14. - 对方户名
  15. - 摘要
  16. - 收入
  17. - 支出
  18. - 对方开户机构
  19. - 备注
  20. - 余额
  21. """
  22. pass
  23. @abstractmethod
  24. def get_bank_name(self):
  25. """返回银行名称"""
  26. pass
  27. def _standardize_flow(self, flow_data):
  28. """标准化流水数据(子类可重写)"""
  29. return flow_data