diff --git a/common/converters.py b/common/converters.py index 58280752dc6841b5ea6bb98851a243f742f403bb..f7e01a47f879e49855db9e172710ac84055b601d 100644 --- a/common/converters.py +++ b/common/converters.py @@ -37,18 +37,18 @@ class df_converters(): scale = scale if scale else self.numeric_scale offset = offset if offset else self.numeric_offset - # First do the appropriate managing of white spaces, to the right, they mean 0! + # First do the appropriate managing of white spaces: + # to the right, they should mean 0! data = data.replace(r'^\s*$', np.nan, regex=True) - # str method fails if all nan + # str method fails if all nan, pd.Series.replace method is not the same + # as pd.Series.str.replace! if data.count() > 0: data = data.str.replace(' ', '0') # Convert to numeric, then scale (?!) and give it's actual int type data = pd.to_numeric(data,errors = 'coerce') # astype fails on strings, to_numeric manages errors....! data = offset + data * scale - try: - return data.astype(self.dtype, casting = 'safe') - except: - return data + + return pd.Series(data,dtype = self.dtype) def object_to_object(self,data,disable_white_strip = False): # With strip() an empty element after stripping, is just an empty element, no NaN...