Source code for resimpy.util.file.write.Writer

__version__ = "v1.0"
__copyright__ = "Copyright 2022"
__license__ = "MIT"
__lab__ = "Adam Cribbs lab"

import pandas as pd
from functools import wraps


[docs]class writer(object): def __init__(self, ): pass def __call__(self, deal): generic = self.generic excel = self.excel @wraps(deal) def write(ph, *args, **kwargs): res = deal(ph, **kwargs) keys = [*kwargs.keys()] if kwargs['type'] == 'generic': generic( df=kwargs['df'], sv_fpn=kwargs['sv_fpn'], df_sep='\t' if 'df_sep' not in keys else kwargs['df_sep'], id_from=0 if 'id_from' not in keys else kwargs['id_from'], header=None if 'header' not in keys else kwargs['header'], index=False if 'index' not in keys else kwargs['index'], ) elif kwargs['type'] == 'excel': excel( df=kwargs['df'], sv_fpn=kwargs['sv_fpn'], sheet_name='Sheet1' if 'sheet_name' not in keys else kwargs['sheet_name'], id_from=0 if 'id_from' not in keys else kwargs['id_from'], header=None if 'header' not in keys else kwargs['header'], index=False if 'index' not in keys else kwargs['index'], ) return res return write
[docs] def generic(self, df, sv_fpn, df_sep='\t', header=None, index=False, id_from=0): df_ = pd.DataFrame(df) df_.index = df_.index + id_from return df_.to_csv( sv_fpn, sep=df_sep, header=header, index=index )
[docs] def excel(self, df, sv_fpn=None, sheet_name='Sheet1', header=None, index=False, id_from=0): df_ = pd.DataFrame(df) df_.index = df_.index + id_from return df_.to_excel( sv_fpn, sheet_name=sheet_name, header=header, index=index )