Skip to content

Commit 50a47f0

Browse files
committed
fix(data_frame): parsing empty value as numpy.NaN
1 parent 46b66fe commit 50a47f0

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

influxdb_client/client/flux_csv_parser.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,12 @@ def parse_record(self, table_index, table, csv):
268268
return record
269269

270270
def _to_value(self, str_val, column):
271-
272271
if str_val == '' or str_val is None:
273272
default_value = column.default_value
274273
if default_value == '' or default_value is None:
274+
if self._serialization_mode is FluxSerializationMode.dataFrame:
275+
from ..extras import np
276+
return self._to_value(np.nan, column)
275277
return None
276278
return self._to_value(default_value, column)
277279

tests/test_FluxCSVParser.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,20 @@ def test_pandas_column_datatype(self):
263263
self.assertEqual('bool', df.dtypes['value4'].name)
264264
self.assertEqual('float64', df.dtypes['value5'].name)
265265

266+
def test_pandas_null_bool_types(self):
267+
data = "#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,boolean\n" \
268+
"#group,false,false,true,true,true,true,true,true,false\n" \
269+
"#default,_result,,,,,,,,\n" \
270+
",result,table,_start,_stop,_field,_measurement,host,region,value4\n" \
271+
",,0,1977-09-21T00:12:43.145224192Z,2018-07-16T11:21:02.547596934Z,free,mem,A,west,true\n" \
272+
",,0,1977-09-21T00:12:43.145224192Z,2018-07-16T11:21:02.547596934Z,free,mem,A,west,\n"
273+
274+
parser = self._parse(data=data, serialization_mode=FluxSerializationMode.dataFrame,
275+
response_metadata_mode=FluxResponseMetadataMode.full)
276+
df = list(parser.generator())[0]
277+
print(df.to_string())
278+
self.assertEqual('bool', df.dtypes['value4'].name)
279+
266280
def test_parse_without_datatype(self):
267281
data = ",result,table,_start,_stop,_field,_measurement,host,region,_value2,value1,value_str\n" \
268282
",,0,1677-09-21T00:12:43.145224192Z,2018-07-16T11:21:02.547596934Z,free,mem,A,west,121,11,test\n" \

0 commit comments

Comments
 (0)