コード例 #1
0
ファイル: _pandas.py プロジェクト: jreback/qPython
    def _read_table(self, qtype = QTABLE, options = READER_CONFIGURATION):
        if options.pandas:
            self._buffer.skip()  # ignore attributes
            self._buffer.skip()  # ignore dict type stamp

            columns = self._read_object(options = options)
            data = self._read_object(options = options)

            odict = OrderedDict()
            meta = MetaData(qtype = QTABLE)
            for i in xrange(len(columns)):
                if isinstance(data[i], str):
                    # convert character list (represented as string) to numpy representation
                    meta[columns[i]] = QSTRING
                    odict[columns[i]] = numpy.array(list(data[i]), dtype = numpy.str)
                elif isinstance(data[i], (list, tuple)):
                    # convert character list (represented as string) to numpy representation
                    meta[columns[i]] = QGENERAL_LIST
                    odict[columns[i]] = numpy.array(list(data[i]))
                else:
                    meta[columns[i]] = data[i].meta.qtype
                    odict[columns[i]] = data[i]

            df = pandas.DataFrame(odict)
            df.meta = meta
            return df
        else:
            return QReader._read_table(self, qtype = qtype, options = options)
コード例 #2
0
ファイル: _pandas.py プロジェクト: jameslittle/qPython
    def _read_table(self, qtype=QTABLE, options=READER_CONFIGURATION):
        if options.pandas:
            self._buffer.skip()  # ignore attributes
            self._buffer.skip()  # ignore dict type stamp

            columns = self._read_object(options=options)
            data = self._read_object(options=options)

            odict = OrderedDict()
            meta = MetaData(qtype=QTABLE)
            for i in xrange(len(columns)):
                if isinstance(data[i], str):
                    # convert character list (represented as string) to numpy representation
                    meta[columns[i]] = QSTRING
                    odict[columns[i]] = pandas.Series(list(data[i]),
                                                      dtype=numpy.str).replace(
                                                          ' ', numpy.nan)
                elif isinstance(data[i], (list, tuple)):
                    meta[columns[i]] = QGENERAL_LIST
                    tarray = numpy.ndarray(shape=len(data[i]),
                                           dtype=numpy.dtype('O'))
                    for j in xrange(len(data[i])):
                        tarray[j] = data[i][j]
                    odict[columns[i]] = tarray
                else:
                    meta[columns[i]] = data[i].meta.qtype
                    odict[columns[i]] = data[i]

            df = pandas.DataFrame(odict)
            df.meta = meta
            return df
        else:
            return QReader._read_table(self, qtype=qtype, options=options)
コード例 #3
0
ファイル: _pandas.py プロジェクト: cpcloud/qPython
    def _read_table(self, qtype = QTABLE, options = READER_CONFIGURATION):
        if options.pandas:
            self._buffer.skip()  # ignore attributes
            self._buffer.skip()  # ignore dict type stamp

            columns = self._read_object(options = options)
            data = self._read_object(options = options)

            odict = OrderedDict()
            meta = MetaData(qtype = QTABLE)
            strcols = []
            for i in xrange(len(columns)):
                if isinstance(data[i], str):
                    # convert character list (represented as string) to numpy representation
                    meta[columns[i]] = QSTRING
                    odict[columns[i]] = pandas.Series(list(data[i]), dtype = numpy.str).replace(' ', numpy.nan)
                elif isinstance(data[i], (list, tuple)):
                    meta[columns[i]] = QGENERAL_LIST
                    tarray = numpy.ndarray(shape = len(data[i]), dtype = numpy.dtype('O'))
                    for j in xrange(len(data[i])):
                        tarray[j] = data[i][j]
                    odict[columns[i]] = tarray
                else:
                    meta[columns[i]] = data[i].meta.qtype
                    odict[columns[i]] = data[i]

            df = pandas.DataFrame(odict)
            df.meta = meta
            for column in strcols:
                # q uses the space character as the NULL value for strings
                df[column] = df[column].replace([' ', ''], numpy.nan)
            return df
        else:
            return QReader._read_table(self, qtype = qtype, options = options)
コード例 #4
0
ファイル: _pandas.py プロジェクト: aMammotha/qPython
    def _read_table(self, qtype = QTABLE):
        if self._options.pandas:
            self._buffer.skip()  # ignore attributes
            self._buffer.skip()  # ignore dict type stamp

            columns = self._read_object()
            data = self._read_object()

            odict = OrderedDict()
            meta = MetaData(qtype = QTABLE)
            for i in xrange(len(columns)):
                if isinstance(data[i], str):
                    # convert character list (represented as string) to numpy representation
                    meta[columns[i]] = QSTRING
                    odict[columns[i]] = pandas.Series(list(data[i]), dtype = numpy.str).replace(' ', numpy.nan)
                elif isinstance(data[i], (list, tuple)):
                    meta[columns[i]] = QGENERAL_LIST
                    tarray = numpy.ndarray(shape = len(data[i]), dtype = numpy.dtype('O'))
                    for j in xrange(len(data[i])):
                        tarray[j] = data[i][j]
                    odict[columns[i]] = tarray
                else:
                    meta[columns[i]] = data[i].meta.qtype
                    odict[columns[i]] = data[i]

            df = pandas.DataFrame(odict)
            df.meta = meta
            return df
        else:
            return QReader._read_table(self, qtype = qtype)
コード例 #5
0
    def _read_table(self, qtype=QTABLE):
        if self._options.pandas:
            self._buffer.skip()  # ignore attributes
            self._buffer.skip()  # ignore dict type stamp

            columns = self._read_object()
            self._buffer.skip()  # ignore generic list type indicator
            data = QReader._read_general_list(self, qtype)

            odict = OrderedDict()
            meta = MetaData(qtype=QTABLE)
            for i in range(len(columns)):
                column_name = columns[i] if isinstance(
                    columns[i], str) else columns[i].decode("utf-8")
                if isinstance(data[i], str):
                    # convert character list (represented as string) to numpy representation
                    meta[column_name] = QSTRING
                    odict[column_name] = pandas.Series(
                        list(data[i]),
                        dtype=numpy.str).replace(b' ', numpy.nan)
                elif isinstance(data[i], bytes):
                    # convert character list (represented as string) to numpy representation
                    meta[column_name] = QSTRING
                    odict[column_name] = pandas.Series(list(data[i].decode()),
                                                       dtype=str).replace(
                                                           b' ', numpy.nan)
                elif isinstance(data[i], (list, tuple)):
                    meta[column_name] = QGENERAL_LIST
                    tarray = numpy.ndarray(shape=len(data[i]),
                                           dtype=numpy.dtype('O'))
                    for j in range(len(data[i])):
                        tarray[j] = data[i][j]
                    odict[column_name] = tarray
                else:
                    meta[column_name] = data[i].meta.qtype
                    odict[column_name] = data[i]

            df = pandas.DataFrame(odict)
            df._metadata = ["meta"]
            df.meta = meta
            return df
        else:
            return QReader._read_table(self, qtype=qtype)