utils.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -*- coding:utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2023/12/28
  5. @desc: 各种工具类
  6. """
  7. import datetime
  8. import inspect
  9. import os
  10. from json import JSONEncoder
  11. import pandas as pd
  12. import pytz
  13. from config import BaseConfig
  14. def f_get_date(offset: int = 0, connect: str = "-") -> str:
  15. current_date = datetime.datetime.now(pytz.timezone("Asia/Shanghai")).date() + datetime.timedelta(days=offset)
  16. return current_date.strftime(f"%Y{connect}%m{connect}%d")
  17. def f_get_datetime(offset: int = 0, connect: str = "_") -> str:
  18. current_date = datetime.datetime.now(pytz.timezone("Asia/Shanghai")) + datetime.timedelta(days=offset)
  19. return current_date.strftime(f"%Y{connect}%m{connect}%d{connect}%H{connect}%M{connect}%S")
  20. def f_get_clazz_in_module(module):
  21. """
  22. 获取包下的所有类
  23. """
  24. classes = []
  25. for name, member in inspect.getmembers(module):
  26. if inspect.isclass(member):
  27. classes.append(member)
  28. return classes
  29. def f_save_train_df(file_name: str, df: pd.DataFrame):
  30. file_path = os.path.join(BaseConfig.train_path, file_name)
  31. df.to_excel(f"{file_path}.xlsx", index=False)
  32. class f_clazz_to_json(JSONEncoder):
  33. def default(self, o):
  34. return o.__dict__