Source code for larray.inout.sas

from __future__ import absolute_import, print_function

import warnings

import numpy as np
import pandas as pd

from larray.core.constants import nan
from larray.inout.pandas import df_aslarray
from larray.util.misc import deprecate_kwarg


[docs]@deprecate_kwarg('nb_index', 'nb_axes', arg_converter=lambda x: x + 1) def read_sas(filepath, nb_axes=None, index_col=None, fill_value=nan, na=nan, sort_rows=False, sort_columns=False, **kwargs): """ Reads sas file and returns an LArray with the contents nb_axes: number of axes of the output array or index_col: Positions of columns for the n-1 first axes (ex. [0, 1, 2, 3]) """ if not np.isnan(na): fill_value = na warnings.warn("read_sas `na` argument has been renamed to `fill_value`. Please use that instead.", FutureWarning, stacklevel=2) if nb_axes is not None and index_col is not None: raise ValueError("cannot specify both nb_axes and index_col") elif nb_axes is not None: index_col = list(range(nb_axes - 1)) elif isinstance(index_col, int): index_col = [index_col] df = pd.read_sas(filepath, index=index_col, **kwargs) return df_aslarray(df, sort_rows=sort_rows, sort_columns=sort_columns, fill_value=fill_value)