def _extract_from(raw_json, pandas_options=None):
    '''Extract tables from json.

    Args:
        raw_json (list):
            Decoded list from tabula-java JSON.
        pandas_options (dict optional):
            pandas options for `pd.DataFrame()`
    '''

    data_frames = []
    if pandas_options is None:
        pandas_options = {}

    columns = pandas_options.pop('columns', None)
    columns, header_line_number = _convert_pandas_csv_options(pandas_options, columns)

    for table in raw_json:
        list_data = [[np.nan if not e['text'] else e['text'] for e in row] for row in table['data']]
        _columns = columns

        if isinstance(header_line_number, int) and not columns:
            _columns = list_data.pop(header_line_number)
            _columns = ['' if e is np.nan else e for e in _columns]

        data_frames.append(pd.DataFrame(data=list_data, columns=_columns, **pandas_options))

    return data_frames
def _extract_from ( raw_json , pandas_options = None ) : data_frames = [ ] if pandas_options is None : pandas_options = { } columns = pandas_options . pop ( 'columns' , None ) columns , header_line_number = _convert_pandas_csv_options ( pandas_options , columns ) for table in raw_json : list_data = [ [ np . nan if not e [ 'text' ] else e [ 'text' ] for e in row ] for row in table [ 'data' ] ] _columns = columns if isinstance ( header_line_number , int ) and not columns : _columns = list_data . pop ( header_line_number ) _columns = [ '' if e is np . nan else e for e in _columns ] data_frames . append ( pd . DataFrame ( data = list_data , columns = _columns , ** pandas_options ) ) return data_frames
Extract tables from json.

    Args:
        raw_json (list):
            Decoded list from tabula-java JSON.
        pandas_options (dict optional):
            pandas options for `pd.DataFrame()`