@@ -235,6 +235,29 @@ def test_pandas_lot_of_columns(self):
235235 _dataFrames = list (parser .generator ())
236236 self .assertEqual (1 , _dataFrames .__len__ ())
237237
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+
238261 @staticmethod
239262 def _parse_to_tables (data : str , serialization_mode = FluxSerializationMode .tables ):
240263 _parser = FluxCsvParserTest ._parse (data , serialization_mode )
0 commit comments