hyb
2026-01-30 7657e1b2fa251a2ea372710ad75cb395a3c0e374
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
Ë
nñúh©ãóŒ—UddlmZddlmZmZmZmZddlmZm    Z    m
Z
m Z m Z m Z ddlmZddlmZmZerddlmZeeZe de
egef¬«ZiZd    ed
<dd „Zddd „Zdd „Zd d„Zd!d„Ze d"d„«Z e d#d„«Z e d$d„«Z e d%d„«Z                 d&d„Z e d'd„«Z!e d(d„«Z!d)d„Z!                        d*d„Z"                        d+d„Z#d,d„Z$y)-é)Ú annotations)ÚHashableÚIterableÚMutableMappingÚSequence)Ú TYPE_CHECKINGÚAnyÚCallableÚLiteralÚTypeVarÚoverload©Úimport_optional_dependency)Ú
is_integerÚ is_list_like)Ú ExcelWriterÚ usecols_func)Úboundz"MutableMapping[str, ExcelWriter_t]Ú_writerscóZ—t|«s td«‚|j}|t|<y)z°
    Add engine to the excel writer registry.io.excel.
 
    You must use this method to integrate with ``to_excel``.
 
    Parameters
    ----------
    klass : ExcelWriter
    z&Can only register callables as enginesN)ÚcallableÚ
ValueErrorÚ_enginer)ÚklassÚ engine_names  úHH:\Change_password\venv_build\Lib\site-packages\pandas/io/excel/_util.pyÚregister_writerr"s*€ô EŒ?ÜÐAÓBÐBØ—-‘-€KØ!„Hˆ[Òócór—ddddddœ}dddddœ}|dvsJ‚|dk(rtd    d
¬ «}|rd    |d <||S||S) a
    Return the default reader/writer for the given extension.
 
    Parameters
    ----------
    ext : str
        The excel file extension for which to get the default engine.
    mode : str {'reader', 'writer'}
        Whether to get the default engine for reading or writing.
        Either 'reader' or 'writer'
 
    Returns
    -------
    str
        The default engine for the extension.
    ÚopenpyxlÚpyxlsbÚxlrdÚodf)ÚxlsxÚxlsmÚxlsbÚxlsÚods)r$r%r&r()ÚreaderÚwriterr*Ú
xlsxwriterÚwarn)Úerrorsr$r)ÚextÚmodeÚ_default_readersÚ_default_writersr+s     rÚget_default_enginer22sz€ð$ØØØØñ ÐðØØØñ    Ðð Ð'Ñ 'Ð'Ð 'Ø ˆxÒä/° ÀVÔLˆ
Ù Ø'3Ð ˜VÑ $Ø Ñ$Ð$à Ñ$Ð$rcóX—    t|S#t$r}td|›d«|‚d}~wwxYw)NzNo Excel writer 'ú')rÚKeyErrorr)rÚerrs  rÚ
get_writerr7[s<€ðFܘ Ñ$Ð$øÜ òFÜÐ,¨[¨M¸Ð;Ó<À#ÐEûðFús‚ ‹    )”$¤)cóî—d}|j«j«D]N}t|«}|td«ks|td«kDrtd|›«‚|dz|ztd«z
dz}ŒP|dz
S)ai
    Convert Excel column name like 'AB' to 0-based column index.
 
    Parameters
    ----------
    x : str
        The Excel column name to convert to a 0-based column index.
 
    Returns
    -------
    num : int
        The column index corresponding to the name.
 
    Raises
    ------
    ValueError
        Part of the Excel column name was invalid.
    rÚAÚZzInvalid column name: éé)ÚupperÚstripÚordr)ÚxÚindexÚcÚcps    rÚ
_excel2numrDbs}€ð& €Eà W‰W‹Y_‰_Ó ò/ˆÜ ‹Vˆà ”C“Š=˜B¤ S£šMÜÐ4°Q°CÐ8Ó9Ð 9à˜‘
˜R‘¤# c£(Ñ*¨QÑ.‰ð /ð 1‰9Ðrc
ó—g}|jd«D]h}d|vrH|jd«}|jtt|d«t|d«dz««ŒO|j    t|««Œj|S)a”
    Convert comma separated list of column names and ranges to indices.
 
    Parameters
    ----------
    areas : str
        A string containing a sequence of column ranges (or areas).
 
    Returns
    -------
    cols : list
        A list of 0-based column indices.
 
    Examples
    --------
    >>> _range2cols('A:E')
    [0, 1, 2, 3, 4]
    >>> _range2cols('A,C,Z:AB')
    [0, 2, 25, 26, 27]
    ú,ú:rr<)ÚsplitÚextendÚrangerDÚappend)ÚareasÚcolsÚrngÚrngss    rÚ _range2colsrP‚sv€ð*€Dà{‰{˜3Óò)ˆØ #‰:Ø—9‘9˜S“>ˆDØ K‰Kœœj¨¨a©Ó1´:¸dÀ1¹gÓ3FÈÑ3JÓKÕ Là K‰Kœ
 3›Õ (ð )ð €Krcó—y©N©©Úusecolss rÚmaybe_convert_usecolsrV£ó€àrcó—yrRrSrTs rrVrV¨rWrcó—yrRrSrTs rrVrV­rWrcó—yrRrSrTs rrVrV²rWrcóp—|€|St|«r td«‚t|t«r t    |«S|S)a
    Convert `usecols` into a compatible format for parsing in `parsers.py`.
 
    Parameters
    ----------
    usecols : object
        The use-columns object to potentially convert.
 
    Returns
    -------
    converted : object
        The compatible format of `usecols`.
    z}Passing an integer for `usecols` is no longer supported.  Please pass in a list of int from 0 to `usecols` inclusive instead.)rrÚ
isinstanceÚstrrPrTs rrVrV·sE€ð €Øˆä'ÔÜð Ró
ð    
ô
'œ3Ôܘ7Ó#Ð#à €Nrcó—yrRrS©Ú freeze_paness rÚvalidate_freeze_panesraÖrWrcó—yrRrSr_s rraraÛrWrcó`—|,t|«dk(rtd„|D««rytd«‚y)Néc3ó<K—|]}t|t«–—Œy­wrR)r\Úint)Ú.0Úitems  rú    <genexpr>z(validate_freeze_panes.<locals>.<genexpr>âsèø€ò*
Ø&*ŒJtœS× !ñ*
ùs‚TzLfreeze_panes must be of form (row, column) where row and column are integersF)ÚlenÚallrr_s rraraàsE€ØÐÜ ˆ|Ó  Ò !¤cñ*
Ø.:ô*
ô'
ðäð 0ó
ð    
ð rcó–—|d}tdt|««D])}||s||}||dk(s||€|||<Œ d||<||}Œ+||fS)aç
    Forward fill blank entries in row but only inside the same parent index.
 
    Used for creating headers in Multiindex.
 
    Parameters
    ----------
    row : list
        List of items in a single row.
    control_row : list of bool
        Helps to determine if particular column is in same parent index as the
        previous value. Used to stop propagation of empty cells between
        different indexes.
 
    Returns
    -------
    Returns changed row and control_row
    rr<ÚF)rJrj)ÚrowÚ control_rowÚlastÚis    rÚfill_mi_headerrrñsr€ð* ˆq‰6€DÜ 1”c˜#“hÓ òˆØ˜1Š~ؐq‘6ˆDà ˆq‰6RŠ<˜3˜q™6˜>؈CŠFà"ˆK˜‰Nؐq‘6‰Dðð  Ð ÐrcóÀ—t|«rt|t«sJ‚t|«}nt|t«rJ‚|}||}|dk(rdn|}||d|dgz||dzdzfS)a•
    Pop the header name for MultiIndex parsing.
 
    Parameters
    ----------
    row : list
        The data row to parse for the header name.
    index_col : int, list
        The index columns for our data. Assumed to be non-null.
 
    Returns
    -------
    header_name : str
        The extracted header name.
    trimmed_row : list
        The original data row with the header name removed.
    rmNr<)rr\rÚmax)rnÚ    index_colrqÚ header_names    rÚpop_header_namerwsw€ô*IÔܘ)¤XÔ.Ð.Ð.Ü     ‹N‰ä˜i¬Ô2Ð2Ð2Ø ˆàa‘&€KØ%¨Ò+‘$°€Kà ˜˜B˜Q˜ 2 $™¨¨Q°©U¨W¨Ñ5Ð 5Ð5rcóR—|€i}n|j«}|j|«|S)a
    Used to combine two sources of kwargs for the backend engine.
 
    Use of kwargs is deprecated, this function is solely for use in 1.3 and should
    be removed in 1.4/2.0. Also _base.ExcelWriter.__new__ ensures either engine_kwargs
    or kwargs must be None or empty respectively.
 
    Parameters
    ----------
    engine_kwargs: dict
        kwargs to be passed through to the engine.
    kwargs: dict
        kwargs to be psased through to the engine (deprecated)
 
    Returns
    -------
    engine_kwargs combined with kwargs
    )ÚcopyÚupdate)Ú engine_kwargsÚkwargsÚresults   rÚcombine_kwargsr~6s.€ð&ÐØ‰à×#Ñ#Ó%ˆØ
‡MM&ÔØ €MrN)rÚ ExcelWriter_tÚreturnÚNone)r))r.r]r/zLiteral['reader', 'writer']r€r])rr]r€r)r@r]r€rf)rLr]r€ú    list[int])rUzstr | list[int]r€r‚)rUú    list[str]r€rƒ)rUrr€r)rUrr€r)rUz1str | list[int] | list[str] | usecols_func | Noner€z+None | list[int] | list[str] | usecols_func)r`ztuple[int, int]r€z Literal[True])r`rr€zLiteral[False])r`ztuple[int, int] | Noner€Úbool)rnúlist[Hashable]roz
list[bool]r€z!tuple[list[Hashable], list[bool]])rnr…ruzint | Sequence[int]r€z&tuple[Hashable | None, list[Hashable]])r{zdict[str, Any] | Noner|Údictr€r†)%Ú
__future__rÚcollections.abcrrrrÚtypingrr    r
r r r Úpandas.compat._optionalrÚpandas.core.dtypes.commonrrÚpandas.io.excel._baserÚtyperÚobjectrrÚ__annotations__rr2r7rDrPrVrarrrwr~rSrrú<module>rsKðÞ"÷ó÷ ÷õ?÷ñ
Ý1à˜Ñ%€MÙ˜>°¸8¸*ÀfÐ:LÑ1MÔN€Là/1€Ð
,Ó1ó "ô &%óRFóó@ðB
òó
ðð
òó
ðð
òó
ðð
òó
ððØ >ðà0óð>
òó
ðð
òó
ðóð" Ø    ð Ø&0ð à&ó ðF6Ø    ð6Ø$7ð6à+ó6ôDr