code: def _get_data_from_table(source, fields='*', first_row=0, count=-1, schema=None):
    
    if not source.exists():
      return _get_data_from_empty_list(source, fields, first_row, count)
    if schema is None:
      schema = source.schema
    fields = get_field_list(fields, schema)
    gen = source.range(first_row, count) if count >= 0 else source
    rows = [{'c': [{'v': row[c]} if c in row else {} for c in fields]} for row in gen]
    return {'cols': _get_cols(fields, schema), 'rows': rows}, source.length
docs: Helper function for _get_data that handles BQ Tables.