1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # -*- coding:utf-8 -*-
- """
- @author: yq
- @time: 2023/12/28
- @desc: 各种工具类
- """
- import datetime
- import inspect
- import os
- from json import JSONEncoder
- import dataframe_image as dfi
- import pandas as pd
- import pytz
- from config import BaseConfig
- def f_format_float(num: float, n=3):
- return f"{num: .{n}f}"
- def f_get_date(offset: int = 0, connect: str = "-") -> str:
- current_date = datetime.datetime.now(pytz.timezone("Asia/Shanghai")).date() + datetime.timedelta(days=offset)
- return current_date.strftime(f"%Y{connect}%m{connect}%d")
- def f_get_datetime(offset: int = 0, connect: str = "_") -> str:
- current_date = datetime.datetime.now(pytz.timezone("Asia/Shanghai")) + datetime.timedelta(days=offset)
- return current_date.strftime(f"%Y{connect}%m{connect}%d{connect}%H{connect}%M{connect}%S")
- def f_get_clazz_in_module(module):
- """
- 获取包下的所有类
- """
- classes = []
- for name, member in inspect.getmembers(module):
- if inspect.isclass(member):
- classes.append(member)
- return classes
- def f_save_train_df(file_name: str, df: pd.DataFrame):
- file_path = os.path.join(BaseConfig.train_path, file_name)
- df.to_excel(f"{file_path}.xlsx", index=False)
- def f_df_to_image(df, filename, fontsize=12):
- dfi.export(obj=df, filename=filename, fontsize=fontsize, table_conversion='matplotlib')
- class f_clazz_to_json(JSONEncoder):
- def default(self, o):
- return o.__dict__
|