Source code for resimpy.util.file.read.Reader

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

import pandas as pd
from functools import wraps


[docs]class reader(object): def __init__(self, ): pass def __call__(self, deal): generic = self.generic excel = self.excel @wraps(deal) def read(ph, *args, **kwargs): deal(ph, **kwargs) keys = [*kwargs.keys()] if kwargs['type'] == 'generic': return generic( df_fpn=kwargs['df_fpn'], df_sep='\t' if 'df_sep' not in keys else kwargs['df_sep'], skiprows=False if 'skiprows' not in keys else kwargs['skiprows'], header=None if 'header' not in keys else kwargs['header'], is_utf8=False if 'is_utf8' not in keys else kwargs['is_utf8'], ) elif kwargs['type'] == 'excel': return excel( df_fpn=kwargs['df_fpn'], sheet_name='Sheet1' if 'sheet_name' not in keys else kwargs['sheet_name'], header=None if 'header' not in keys else kwargs['header'], is_utf8=False if 'is_utf8' not in keys else kwargs['is_utf8'], ) return read
[docs] def generic(self, df_fpn, df_sep='\t', skiprows=None, header=None, is_utf8=False): """ :param df_fpn: :param df_sep: :param header: :param is_utf8: :param dtype: :return: """ if is_utf8: return pd.read_csv( df_fpn, sep=df_sep, header=header, encoding='utf-8', skiprows=skiprows, ) else: return pd.read_csv( df_fpn, sep=df_sep, header=header, skiprows=skiprows )
[docs] def excel(self, df_fpn, sheet_name='Sheet1', header=None, is_utf8=False): """ :param df_fpn: :param sheet_name: :param header: :param is_utf8: :return: """ if is_utf8: return pd.read_excel( df_fpn, sheet_name=sheet_name, header=header, encoding='utf-8', engine='openpyxl', ) else: return pd.read_excel( df_fpn, sheet_name=sheet_name, header=header, engine='openpyxl', )
if __name__ == "__main__": p = reader() print(p.generic('data/drug/similarity/drug_all_07-02.txt'))