@@ -16,7 +16,10 @@ from odf.opendocument import OpenDocument
16
16
from openpyxl .workbook .workbook import Workbook
17
17
from pandas .core .frame import DataFrame
18
18
import pyxlsb .workbook
19
- from typing_extensions import Self
19
+ from typing_extensions import (
20
+ Self ,
21
+ TypeAlias ,
22
+ )
20
23
from xlrd .book import Book
21
24
22
25
from pandas ._libs .lib import NoDefault
@@ -32,6 +35,8 @@ from pandas._typing import (
32
35
WriteExcelBuffer ,
33
36
)
34
37
38
+ ReadEngine : TypeAlias = Literal ["xlrd" , "openpyxl" , "odf" , "pyxlsb" ]
39
+
35
40
@overload
36
41
def read_excel (
37
42
io : (
@@ -50,7 +55,7 @@ def read_excel(
50
55
index_col : int | Sequence [int ] | None = ...,
51
56
usecols : str | UsecolsArgType = ...,
52
57
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
53
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
58
+ engine : ReadEngine | None = ...,
54
59
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
55
60
true_values : Iterable [Hashable ] | None = ...,
56
61
false_values : Iterable [Hashable ] | None = ...,
@@ -92,7 +97,7 @@ def read_excel(
92
97
index_col : int | Sequence [int ] | None = ...,
93
98
usecols : str | UsecolsArgType = ...,
94
99
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
95
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
100
+ engine : ReadEngine | None = ...,
96
101
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
97
102
true_values : Iterable [Hashable ] | None = ...,
98
103
false_values : Iterable [Hashable ] | None = ...,
@@ -135,7 +140,7 @@ def read_excel( # type: ignore[misc]
135
140
index_col : int | Sequence [int ] | None = ...,
136
141
usecols : str | UsecolsArgType = ...,
137
142
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
138
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
143
+ engine : ReadEngine | None = ...,
139
144
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
140
145
true_values : Iterable [Hashable ] | None = ...,
141
146
false_values : Iterable [Hashable ] | None = ...,
@@ -177,7 +182,7 @@ def read_excel(
177
182
index_col : int | Sequence [int ] | None = ...,
178
183
usecols : str | UsecolsArgType = ...,
179
184
dtype : str | Dtype | Mapping [str , str | Dtype ] | None = ...,
180
- engine : Literal [ "xlrd" , "openpyxl" , "odf" , "pyxlsb" ] | None = ...,
185
+ engine : ReadEngine | None = ...,
181
186
converters : Mapping [int | str , Callable [[object ], object ]] | None = ...,
182
187
true_values : Iterable [Hashable ] | None = ...,
183
188
false_values : Iterable [Hashable ] | None = ...,
@@ -202,11 +207,14 @@ def read_excel(
202
207
dtype_backend : DtypeBackend | NoDefault = ...,
203
208
) -> DataFrame : ...
204
209
210
+
211
+ WriteEngine : TypeAlias = Literal ["openpyxl" , "odf" , "xlsxwriter" ]
212
+
205
213
class ExcelWriter :
206
214
def __init__ (
207
215
self ,
208
216
path : FilePath | WriteExcelBuffer | ExcelWriter ,
209
- engine : Literal ["auto" , "openpyxl" , "odf" , "xlsxwriter " ] | None = ...,
217
+ engine : WriteEngine | Literal ["auto" ] | None = ...,
210
218
date_format : str | None = ...,
211
219
datetime_format : str | None = ...,
212
220
mode : Literal ["w" , "a" ] = ...,
@@ -217,7 +225,7 @@ class ExcelWriter:
217
225
@property
218
226
def supported_extensions (self ) -> tuple [str , ...]: ...
219
227
@property
220
- def engine (self ) -> Literal [ "openpyxl" , "odf" , "xlsxwriter" ] : ...
228
+ def engine (self ) -> WriteEngine : ...
221
229
@property
222
230
def sheets (self ) -> dict [str , Any ]: ...
223
231
@property
0 commit comments