Exemplo n.º 1
0
 def _read_general_list(self, qtype=QGENERAL_LIST):
     qlist = QReader._read_general_list(self, qtype)
     if self._options.pandas:
         return [
             numpy.nan if isinstance(element, basestring)
             and element == b' ' else element for element in qlist
         ]
     else:
         return qlist
Exemplo n.º 2
0
 def _read_general_list(self,
                        qtype=QGENERAL_LIST,
                        options=READER_CONFIGURATION):
     list = QReader._read_general_list(self, qtype, options)
     if options.pandas:
         return [
             numpy.nan if isinstance(element, basestring) and element == ' '
             else element for element in list
         ]
     else:
         return list
Exemplo n.º 3
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)
Exemplo n.º 4
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 = numpy.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.meta = meta
            return df
        else:
            return QReader._read_table(self, qtype = qtype)
Exemplo n.º 5
0
 def _read_general_list(self, qtype = QGENERAL_LIST, options = READER_CONFIGURATION):
     list = QReader._read_general_list(self, qtype, options)
     if options.pandas:
         return [numpy.nan if isinstance(element, basestring) and element == ' ' else element for element in list]
     else:
         return list
Exemplo n.º 6
0
 def _read_general_list(self, qtype = QGENERAL_LIST):
     list = QReader._read_general_list(self, qtype)
     if self._options.pandas:
         return [numpy.nan if isinstance(element, basestring) and element == ' ' else element for element in list]
     else:
         return list