load an smp file into a pandas dataframe (stacked in wide format)

    Parameters
    ----------
    smp_filename : str
        smp filename to load
    datetime_format : str
        should be either "%m/%d/%Y %H:%M:%S" or "%d/%m/%Y %H:%M:%S"
        If None, then we will try to deduce the format for you, which
        always dangerous

    Returns
    -------
    df : pandas.DataFrame

def smp_to_dataframe(smp_filename,datetime_format=None):
    """ load an smp file into a pandas dataframe (stacked in wide format)

    Parameters
    ----------
    smp_filename : str
        smp filename to load
    datetime_format : str
        should be either "%m/%d/%Y %H:%M:%S" or "%d/%m/%Y %H:%M:%S"
        If None, then we will try to deduce the format for you, which
        always dangerous

    Returns
    -------
    df : pandas.DataFrame

    """

    if datetime_format is not None:
        date_func = lambda x: datetime.strptime(x,datetime_format)
    else:
        date_func = date_parser
    df = pd.read_csv(smp_filename, delim_whitespace=True,
                     parse_dates={"datetime":["date","time"]},
                     header=None,names=["name","date","time","value"],
                     dtype={"name":object,"value":np.float64},
                     na_values=["dry"],
                     date_parser=date_func)
    return df