80
80
HashableT ,
81
81
IntStrT ,
82
82
ReadBuffer ,
83
- Scalar ,
84
83
Self ,
85
84
SequenceNotStr ,
86
85
StorageOptions ,
@@ -431,7 +430,7 @@ def read_excel(
431
430
skipfooter : int = ...,
432
431
storage_options : StorageOptions = ...,
433
432
dtype_backend : DtypeBackend | lib .NoDefault = ...,
434
- ) -> DataFrame | list [ DataFrame ] | dict [str , DataFrame ]: ...
433
+ ) -> DataFrame | dict [ str , DataFrame ] | dict [str , dict [ str , DataFrame ] ]: ...
435
434
436
435
437
436
@overload
@@ -472,7 +471,12 @@ def read_excel(
472
471
skipfooter : int = ...,
473
472
storage_options : StorageOptions = ...,
474
473
dtype_backend : DtypeBackend | lib .NoDefault = ...,
475
- ) -> DataFrame | dict [IntStrT , DataFrame ] | dict [str , DataFrame ]: ...
474
+ ) -> (
475
+ DataFrame
476
+ | dict [IntStrT , DataFrame ]
477
+ | dict [str , DataFrame ]
478
+ | dict [str , dict [str , DataFrame ]]
479
+ ): ...
476
480
477
481
478
482
@doc (storage_options = _shared_docs ["storage_options" ])
@@ -513,7 +517,12 @@ def read_excel(
513
517
storage_options : StorageOptions | None = None ,
514
518
dtype_backend : DtypeBackend | lib .NoDefault = lib .no_default ,
515
519
engine_kwargs : dict | None = None ,
516
- ) -> DataFrame | list [DataFrame ] | dict [str , DataFrame ]:
520
+ ) -> (
521
+ DataFrame
522
+ | dict [IntStrT , DataFrame ]
523
+ | dict [str , DataFrame ]
524
+ | dict [str , dict [str , DataFrame ]]
525
+ ):
517
526
check_dtype_backend (dtype_backend )
518
527
should_close = False
519
528
if engine_kwargs is None :
@@ -806,6 +815,7 @@ def parse(
806
815
# handle same-type duplicates.
807
816
sheets = cast (Union [list [int ], list [str ]], list (dict .fromkeys (sheets ).keys ()))
808
817
818
+ output : dict [str , DataFrame ] | dict [str , dict [str , DataFrame ]]
809
819
output = {"sheets" : {}, "tables" : {}}
810
820
outputDict = None
811
821
@@ -832,7 +842,7 @@ def parse(
832
842
output [outputDict ][asheetname ] = DataFrame ()
833
843
continue
834
844
835
- output = self .parse_multiindex (
845
+ output = self .parse_data (
836
846
data = data ,
837
847
asheetname = asheetname ,
838
848
header = header ,
@@ -889,7 +899,7 @@ def parse(
889
899
output [outputDict ][atablename ] = DataFrame ()
890
900
continue
891
901
892
- output = self .parse_multiindex (
902
+ output = self .parse_data (
893
903
data = table_data ,
894
904
asheetname = atablename ,
895
905
header = header ,
@@ -932,12 +942,12 @@ def parse(
932
942
else :
933
943
return output ["sheets" ][last_sheetname ]
934
944
935
- def parse_multiindex (
945
+ def parse_data (
936
946
self ,
937
- data : list [list [Scalar ]] | None = None ,
947
+ data : list ,
948
+ output : dict ,
938
949
asheetname : str | int | None = None ,
939
950
header : int | Sequence [int ] | None = 0 ,
940
- output : dict | None = None ,
941
951
outputDict : str | None = None ,
942
952
names : SequenceNotStr [Hashable ] | range | None = None ,
943
953
index_col : int | Sequence [int ] | None = None ,
0 commit comments