Better handling of column lines with all values at NA

This commit is contained in:
Celine Mercier
2019-08-27 20:20:26 +02:00
parent ae5f42c260
commit 3d1b2e8ed9
2 changed files with 10 additions and 2 deletions

View File

@@ -491,7 +491,7 @@ cdef class Column_multi_elts(Column) :
cdef object values_iter
if not self.active() :
raise OBIDeactivatedInstanceError()
if values is None or len(values) == 0 :
if values is None or len(values) == 0 or (isinstance(values, Column_line) and values.is_NA()):
for element_name in self._elements_names :
self.set_item(line_nb, element_name, None)
else :
@@ -539,6 +539,10 @@ cdef class Column_line :
def __repr__(self) :
return str(self._column.get_line(self._index))
def is_NA(self):
return self._column.get_line(self._index) is None
def __iter__(self) :
cdef list elements_names
@@ -569,6 +573,8 @@ cdef class Column_line :
def __str__(self):
cdef dict d
cdef str s
if self.is_NA():
return ""
d = {}
for k,v in self.items():
if type(v) == bytes: