@@ -235,6 +235,29 @@ def test_pandas_lot_of_columns(self):
235
235
_dataFrames = list (parser .generator ())
236
236
self .assertEqual (1 , _dataFrames .__len__ ())
237
237
238
+ def test_pandas_column_datatype (self ):
239
+ data = "#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,string,string,string,string,long,unsignedLong,string,boolean,double\n " \
240
+ "#group,false,false,true,true,true,true,true,true,false,false,false,false,false\n " \
241
+ "#default,_result,,,,,,,,,,,,\n " \
242
+ ",result,table,_start,_stop,_field,_measurement,host,region,value1,value2,value3,value4,value5\n " \
243
+ ",,0,1977-09-21T00:12:43.145224192Z,2018-07-16T11:21:02.547596934Z,free,mem,A,west,121,11,test,true,6.56\n "
244
+ parser = self ._parse (data = data , serialization_mode = FluxSerializationMode .dataFrame )
245
+ df = list (parser .generator ())[0 ]
246
+ self .assertEqual (13 , df .dtypes .__len__ ())
247
+ self .assertEqual ('object' , df .dtypes ['result' ].name )
248
+ self .assertEqual ('int64' , df .dtypes ['table' ].name )
249
+ self .assertIn ('datetime64[ns,' , df .dtypes ['_start' ].name )
250
+ self .assertIn ('datetime64[ns,' , df .dtypes ['_stop' ].name )
251
+ self .assertEqual ('object' , df .dtypes ['_field' ].name )
252
+ self .assertEqual ('object' , df .dtypes ['_measurement' ].name )
253
+ self .assertEqual ('object' , df .dtypes ['host' ].name )
254
+ self .assertEqual ('object' , df .dtypes ['region' ].name )
255
+ self .assertEqual ('int64' , df .dtypes ['value1' ].name )
256
+ self .assertEqual ('int64' , df .dtypes ['value2' ].name )
257
+ self .assertEqual ('object' , df .dtypes ['value3' ].name )
258
+ self .assertEqual ('bool' , df .dtypes ['value4' ].name )
259
+ self .assertEqual ('float64' , df .dtypes ['value5' ].name )
260
+
238
261
@staticmethod
239
262
def _parse_to_tables (data : str , serialization_mode = FluxSerializationMode .tables ):
240
263
_parser = FluxCsvParserTest ._parse (data , serialization_mode )
0 commit comments