def data_read_write(data_path_in, data_path_out, format_type, **kwargs):
if format_type == "<STR_LIT>":<EOL><INDENT>kwargs = _set_dense_defaults_and_eval(kwargs)<EOL>try:<EOL><INDENT>nlc = [nm.strip() for nm in kwargs['<STR_LIT>'].split("<STR_LIT:U+002C>")]<EOL>kwargs.pop('<STR_LIT>', None)<EOL><DEDENT>except KeyError:<EOL><INDENT>raise KeyError("<STR_LIT>")<EOL><DEDENT>arch_data = pd.read_csv(data_path_in, sep=kwargs['<STR_LIT>'],<EOL>na_values=kwargs['<STR_LIT>'])<EOL>form_data = format_dense(arch_data, nlc, **kwargs)<EOL><DEDENT>elif format_type == "<STR_LIT>":<EOL><INDENT>pass<EOL><DEDENT>elif format_type == "<STR_LIT>":<EOL><INDENT>pass<EOL><DEDENT>elif format_type == "<STR_LIT>":<EOL><INDENT>pass<EOL><DEDENT>else:<EOL><INDENT>raise NameError("<STR_LIT>" % format_type)<EOL><DEDENT>form_data.to_csv(data_path_out, index=False)<EOL>
General function to read, format, and write data.

Parameters
----------
data_path_in : str
    Path to the file that will be read
data_path_out : str
    Path of the file that will be output
format_type : str
    Either 'dense', 'grid', 'columnar', or 'transect'
kwargs
    Specific keyword args for given data types. See Notes

Notes
-----

'Dense Parameters'

non_label_cols : str
    Comma separated list of non label columns. ex. "lat, long, tree"
sep : str
    The delimiter for the dense data. Default, ","
na_values : int, float, str
    Value to be labeled as NA. Default, ""

See misc.format_dense() for additional keyword parameters