def METHOD_NAME(
    self, file_name: str, sep: str = "\t", columns: List[str] = None, **kwargs
) -> pd.DataFrame:
    """Copy a remote file from the SFTP server and write it to Pandas dataframe.
    Args:
        file_name (str, optional): File name to download.
        sep (str, optional): The delimiter for the source file. Defaults to "\t".
        columns (List[str], optional): List of columns to select from file. Defaults to None.
    Returns:
        pd.DataFrame: Pandas dataframe.
    """
    byte_file = self.getfo_file(file_name=file_name)
    byte_file.seek(0)
    if Path(file_name).suffix == ".csv":
        df = pd.read_csv(byte_file, sep=sep, usecols=columns, **kwargs)
    elif Path(file_name).suffix == ".parquet":
        df = pd.read_parquet(byte_file, usecols=columns, **kwargs)
    elif Path(file_name).suffix == ".tsv":
        df = pd.read_csv(byte_file, sep="\t", usecols=columns, **kwargs)
    elif Path(file_name).suffix in [".xls", ".xlsx", ".xlsm"]:
        df = pd.read_excel(byte_file, usecols=columns, **kwargs)
    elif Path(file_name).suffix == ".json":
        df = pd.read_json(byte_file, **kwargs)
    elif Path(file_name).suffix == ".pkl":
        df = pd.read_pickle(byte_file, **kwargs)
    elif Path(file_name).suffix == ".sql":
        df = pd.read_sql(byte_file, **kwargs)
    elif Path(file_name).suffix == ".hdf":
        df = pd.read_hdf(byte_file, **kwargs)
    else:
        raise ValueError(
            f"Not able to read the file {Path(file_name).name}, unsupported filetype: {Path(file_name).suffix}"
        )
    return df