def _get_data(table_name, url_args={}, as_dataframe=True):
    table_metadata = db.metadata_lookup(table_name)
    if not table_metadata:
        abort(404)
    row_keys = db.table_fields + (table_metadata['field'],)
    table_data = db.fetch_data(table_name, table_metadata, url_args)

    if as_dataframe:
        columns, data = row_keys, table_data

        df = pandas.DataFrame.from_records(data, columns=columns)

        # Fill NA values with a regular "None":
        # which we have to do before serializing to JSON
        df = df.where((pandas.notnull(df)), None)

        return df

    else:
        return row_keys, table_data
Exemple #2
0
def _get_data(table_name, url_args={}, as_dataframe=True):
    table_metadata = db.metadata_lookup(table_name)
    if not table_metadata:
        abort(404)
    row_keys = db.table_fields + (table_metadata['field'], )
    table_data = db.fetch_data(table_name, table_metadata, url_args)

    if as_dataframe:
        columns, data = row_keys, table_data

        df = pandas.DataFrame.from_records(data, columns=columns)

        # Fill NA values with a regular "None":
        # which we have to do before serializing to JSON
        df = df.where((pandas.notnull(df)), None)

        return df

    else:
        return row_keys, table_data