Exemplo n.º 1
0
 def _fetch(self, cursor):
     rows = cursor.fetchall()
     # TODO(wesm): please evaluate/reimpl to optimize for perf/memory
     dtypes = [self._db_type_to_dtype(x[1]) for x in cursor.description]
     names = [x[0] for x in cursor.description]
     cols = {}
     for (col, name, dtype) in czip(czip(*rows), names, dtypes):
         try:
             cols[name] = pd.Series(col, dtype=dtype)
         except TypeError:
             # coercing to specified dtype failed, e.g. NULL vals in int col
             cols[name] = pd.Series(col)
     return pd.DataFrame(cols, columns=names)
Exemplo n.º 2
0
    def _fetch(self, cursor):
        data, columns = cursor
        names, types = czip(*columns)

        cols = {}
        for (col, name, db_type) in czip(data, names, types):
            dtype = self._db_type_to_dtype(db_type, name)
            try:
                cols[name] = pd.Series(col, dtype=dtype)
            except TypeError:
                cols[name] = pd.Series(col)

        return pd.DataFrame(cols, columns=names)
Exemplo n.º 3
0
 def _fetch(self, cursor):
     import pandas as pd
     rows = cursor.fetchall()
     # TODO(wesm): please evaluate/reimpl to optimize for perf/memory
     dtypes = [self._db_type_to_dtype(x[1]) for x in cursor.description]
     names = [x[0] for x in cursor.description]
     cols = {}
     for (col, name, dtype) in czip(czip(*rows), names, dtypes):
         try:
             cols[name] = pd.Series(col, dtype=dtype)
         except TypeError:
             # coercing to specified dtype failed, e.g. NULL vals in int col
             cols[name] = pd.Series(col)
     return pd.DataFrame(cols, columns=names)
Exemplo n.º 4
0
Arquivo: client.py Projeto: gridl/ibis
    def _execute(self, query, external_tables=(), results=True):
        if isinstance(query, DDL):
            query = query.compile()
        self.log(query)

        response = self.con.process_ordinary_query(
            query,
            columnar=True,
            with_column_types=True,
            external_tables=external_tables)
        if not results:
            return response

        data, columns = response
        colnames, typenames = czip(*columns)
        coltypes = list(map(ClickhouseDataType.parse, typenames))

        return data, colnames, coltypes