1313from .core ._auth import _AuthManager
1414from .core .config import DataverseConfig
1515from .data ._odata import _ODataClient
16- from .utils ._pandas import dataframe_to_records
16+ from .utils ._pandas import dataframe_to_records , strip_odata_keys
1717
1818
1919class DataverseClient :
@@ -425,7 +425,7 @@ def get_dataframe(
425425 record_id = record_id ,
426426 select = select ,
427427 )
428- return pd .DataFrame ([result ])
428+ return pd .DataFrame ([strip_odata_keys ( result ) ])
429429
430430 def _paged_df () -> Iterable [pd .DataFrame ]:
431431 for batch in self .get (
@@ -437,7 +437,7 @@ def _paged_df() -> Iterable[pd.DataFrame]:
437437 expand = expand ,
438438 page_size = page_size ,
439439 ):
440- yield pd .DataFrame (batch )
440+ yield pd .DataFrame ([ strip_odata_keys ( row ) for row in batch ] )
441441
442442 return _paged_df ()
443443
@@ -563,7 +563,11 @@ def delete_dataframe(
563563 if not isinstance (ids , pd .Series ):
564564 raise TypeError ("ids must be a pandas Series" )
565565
566- return self .delete (table_schema_name , ids .tolist (), use_bulk_delete = use_bulk_delete )
566+ id_list = ids .tolist ()
567+ if len (id_list ) == 1 :
568+ return self .delete (table_schema_name , id_list [0 ])
569+ else :
570+ return self .delete (table_schema_name , id_list , use_bulk_delete = use_bulk_delete )
567571
568572 # SQL via Web API sql parameter
569573 def query_sql (self , sql : str ):
0 commit comments