def read_csv(filename, keys=None, convert_types=False, **kwargs):
    '''
    Read a CSV in canonical form: ::

        <agent_id, t_step, key, value, value_type>

    '''
    df = pd.read_csv(filename)
    if convert_types:
        df = convert_types_slow(df)
    if keys:
        df = df[df['key'].isin(keys)]
    df = process_one(df)
    return df
def read_csv ( filename , keys = None , convert_types = False , ** kwargs ) : df = pd . read_csv ( filename ) if convert_types : df = convert_types_slow ( df ) if keys : df = df [ df [ 'key' ] . isin ( keys ) ] df = process_one ( df ) return df
Read a CSV in canonical form: ::

        <agent_id, t_step, key, value, value_type>