hyb
2025-12-23 10f3a1daddfbc7fa3dd2069197d83e8b6ef19176
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
Ë
oñúh:õã ó—ddlmZddlmZmZddlmZddlmZddlZddl    m
Z
ddl Z ddl Z ddl mZddlmZddlZddlZdd    lmZddlmcmZddlZdd
lmZmZmZmZm Z ddl!m"Z#e«rejHjJZ&gd ¢Z'ejPd ejRd «g¬ «ejPdejRd«g¬ «ejPdejRd «g¬ «ejPdejRd«¬ «ejPdejRd«¬ «ejPdejRd«¬ «gZ*d!d„Z+d„Z,ejZe*Dcgc]}e'D]}e+||«r    e,||«‘ŒŒc}}e.¬«d„«Z/ejZd„«Z0ejZd„«Z1ejZd„«Z2d"d„Z3d#d„Z4d„Z5Gd„d«Z6Gd„d «Z7ycc}}w)$é)Ú annotations)ÚdatetimeÚtime)Úpartial)ÚBytesION)ÚPath)ÚURLError)Ú
BadZipFile)Úis_platform_windows)Ú    DataFrameÚIndexÚ
MultiIndexÚSeriesÚread_csv)ú.xlsú.xlsxú.xlsmú.xlsbú.odsÚxlrd©ÚmarksÚopenpyxlÚpyxlsbÚodfÚcalamineÚpython_calaminecó¢—|jd}|dk(r|dk(ry|dk(r|dk7ry|dk(r|dvry|dk(r|d    k7ry|d    k(r|d
vry|d k(r|dk7ryy ) zm
    Filter out invalid (engine, ext) pairs instead of skipping, as that
    produces 500+ pytest.skips.
    rrrFrr>rrrr>rrrT)Úvalues)ÚengineÚread_exts  úUH:\Change_password\venv_build\Lib\site-packages\pandas/tests/io/excel/test_readers.pyÚ_is_valid_engine_ext_pairr#@s‚€ð
]‰]˜1Ñ €FØ Ò ¨FÒ 2ØØ ‚˜8 vÒ-ØØ6Ò˜fÐ,?Ñ?ØØ Ò˜h¨'Ò1ØØ7Ò˜vÐ-CÑCØØ Ò˜H¨Ò.ØØ ócóh—|j|fz}tj||j¬«}|S)z
    engine gives us a pytest.param object with some marks, read_ext is just
    a string.  We need to generate a new pytest.param inheriting the marks.
    r)rÚpytestÚparamr)r r!rÚ    new_params    r"Ú_transfer_marksr)Us.€ð
]‰]˜h˜[Ñ (€FÜ— ‘ ˜V¨6¯<©<Ô8€IØ Ðr$)ÚparamsÚidscó—|jS)zS
    Fixture for Excel reader engine and read_ext, only including valid pairs.
    )r')Úrequests r"Úengine_and_read_extr._s€ð =‰=Ðr$có—|\}}|S©N©©r.r r!s   r"r r os€à*Ñ€FˆHØ €Mr$có—|\}}|Sr0r1r2s   r"r!r!us€à*Ñ€FˆHØ €Or$có:—|dddd«}t|ddd¬«}|S)    zI
    Obtain the reference data from read_csv with the Python engine.
    ÚioÚdataÚcsvz    test1.csvrTÚpython)Ú    index_colÚ parse_datesr )r)ÚdatapathÚfilepathÚdf_refs   r"r=r={s)€ñ
˜˜f e¨[Ó9€HÜ h¨!¸ÀhÔ O€FØ €Mr$có—y)NÚnsr1)r!r s  r"Ú get_exp_unitr@…s€Ø r$có~—d|j_t||«}|jj|«|_yr0)ÚindexÚnamer@Úas_unit)Úexpectedr!r Úunits    r"Úadjust_expectedrG‰s0€Ø€H‡NNÔÜ ˜ &Ó )€Dà—^‘^×+Ñ+¨DÓ1€H…Nr$cón—|dk(r0|jtjjd¬««yy)Nrz3Sheets containing datetimes not supported by pyxlsb©Úreason)Ú applymarkerr&ÚmarkÚxfail)r r-s  r"Úxfail_datetimes_with_pyxlsbrNs7€Ø ÒØ×ÑÜ K‰K× Ñ ØLð ó õ    
ðr$cóŽ—eZdZejd¬«d„«Zd„Zd„Zd„Zd„Z    d„Z
ejjd    gd
¢gd ¢gd ¢gd ¢gd¢gd¢g«d„«Z ejjd    ddgddgg«d„«Zd„Zd„Zd„Zd„Zd„Zd„Zejjdddg«d„«Zd„Zd„Zd „Zd!„Zd"„Zd#„Zd$„Zd%„Zejjd&degd'¢gd(¢gd'¢d)d*ej@d+gd,œ«fd-d.e!e!d,œee"gd'¢d-¬/«e"gd(¢d.¬/«e"gd0¢d1¬/«e"d2d3ej@d4gd1¬/«d,œ«fg«d5„«Z#d6„Z$d7„Z%d8„Z&ejjd9id:fd;d<id:fg«d=„«Z'd>„Z(ejjd?d@edAdBgi«fdCedDg¬E«fg«dF„«Z)dG„Z*dH„Z+dI„Z,dJ„Z-dK„Z.dL„Z/ejjadM«dN„«Z1dO„Z2dP„Z3dQ„Z4ejjdRdSdTdSgdSdTgdUdVdUgdUdVgg«dW„«Z5dX„Z6dY„Z7ejjpejjrdZ„««Z:e;jxejjrd[„««Z=ejjrd\„«Z>ejj~d]„«Z@d^„ZAe;j„d_«d`„«ZCda„ZDdb„ZEdc„ZFejjdddeej@dfdgdfgfdhej@gdizfg«dj„«ZGdk„ZHdl„ZIdm„ZJdn„ZKdo„ZLdp„ZMdq„ZNdr„ZOejjdsdtdudTd:gdTdfdtdvddTd:gdfdtdwdTd:gdTd:gdfdtdxdTd:gdTdfdydzdddTdgfdydzddd{„fg«d|„«ZPd}„ZQd~„ZRd„ZSd€„ZTd„ZUd‚„ZVdƒ„ZWd„„ZXy)…Ú TestReadersT©Úautousecóš—ttj|¬«}|j|ddd««|j    td|«y)zG
        Change directory and set engine for read_excel calls.
        ©r r5r6ÚexcelÚ
read_excelN)rÚpdrVÚchdirÚsetattr©Úselfr r;Ú monkeypatchÚfuncs     r"Úcd_and_set_enginezTestReaders.cd_and_set_enginešs=€ô
”r—}‘}¨VÔ4ˆØ×Ñ™( 4¨°Ó9Ô:Ø×ÑœB  ¨dÕ3r$cóö—d„}|jtjd|«ddddddœ}td|zd    «5}tj|«}ddd«||}n||d
d}|k(sJ‚y#1swYŒxYw) Ncó—|jSr0rT)r[ÚargsÚkwargss   r"Úparserz,TestReaders.test_engine_used.<locals>.parser¥s €Ø—;‘;Ð r$Úparserrrr©ÚxlsxÚxlsmÚxlsbÚxlsÚodsÚtest1Úrbé)rYrWÚ    ExcelFileÚopenrV)    r[r!r r\rcÚexpected_defaultsÚfÚresultrEs             r"Útest_engine_usedzTestReaders.test_engine_used£s™€ò    ð    ×ÑœBŸL™L¨'°6Ô:ðØØØØñ 
Ðô'˜HÑ$ dÓ +ð    &¨qÜ—]‘] 1Ó%ˆF÷    &ð Р؉Hà(¨°!°"¨Ñ6ˆHؘÒ!Ð!Ñ!÷    &ð    &ús ¼A/Á/A8c
óf—ddiddiddiddiddidœ}|dvrtjd«}n0|d    k(rtjd
«}ntjd «}|Gtjt|¬ «5t j d |zdd||dd¬«ddd«yy#1swYyxYw)NÚfooÚabcdé{ÚTrueTre>rrz8open_workbook() got an unexpected keyword argument 'foo'rz/load() got an unexpected keyword argument 'foo'z8load_workbook() got an unexpected keyword argument 'foo'©ÚmatchrkÚSheet1rrm)Ú
sheet_namer9Ú engine_kwargs)ÚreÚescaper&ÚraisesÚ    TypeErrorrWrV)r[r!r rpÚmsgs     r"Útest_engine_kwargszTestReaders.test_engine_kwargs»sɀð˜FOؘCLؘFOؘ4=ؘ6?ñ 
Ðð Ð'Ñ 'Ü—)‘)ÐWÓX‰CØ uŠ_Ü—)‘)ÐNÓO‰Cä—)‘)ÐWÓXˆCà Ð Ü—‘œy°Ô4ñ Ü— ‘ ؘhÑ&Ø'ØØ"3°H¸Q¸R°LÑ"Aõ    ÷ ð ð ÷ ð ús Á:#B'Â'B0có<—d}tjt|¬«5tjd|zddd¬«ddd«tjt|¬«5tjd|zdd    gdd¬
«ddd«y#1swYŒLxYw#1swYyxYw) Nz Passing an integer for `usecols`ryrkr{ré©r|r9ÚusecolsÚSheet2rm©r|Úskiprowsr9r‡©r&r€Ú
ValueErrorrWrV©r[r!r‚s   r"Útest_usecols_intzTestReaders.test_usecols_intÕs€à0ˆÜ ]‰]œ:¨SÔ 1ñ    Ü M‰Mؘ(Ñ"¨xÀ1Èaõ ÷    ô ]‰]œ:¨SÔ 1ñ    Ü M‰Mؘ(Ñ"Ø#Ø˜ØØõ  ÷    ð    ÷     ð    ú÷     ð    úsžBÁBÂBÂBcó—t||«|ddg}t|||«tjd|zddgd¢¬«}tjd|zdd    gdgd¢¬
«}t    j
||«t    j
||«y) NÚBÚCrkr{r)rér…r†rˆrmr‰©rNrGrWrVÚtmÚassert_frame_equal)r[r-r r!r=rEÚdf1Údf2s        r"Útest_usecols_listzTestReaders.test_usecols_listçsŠ€Ü# F¨GÔ4à˜3 ˜*Ñ%ˆÜ˜ (¨FÔ3äm‰mØ hÑ ¨8¸qÊ)ô
ˆôm‰mØ hÑ ØØSØÚô 
ˆô     ×јc 8Ô,Ü
×јc 8Õ,r$cóЗt||«|gd¢}t|||«tjd|zddd¬«}tjd|zddgdd¬    «}t    j
||«t    j
||«|d
d g}t|||«tjd|zddd ¬«}tjd|zddgdd ¬    «}t    j
||«t    j
||«tjd|zddd ¬«}tjd|zddgdd ¬    «}t    j
||«t    j
||«y)N©ÚArr‘rkr{rzA:Dr†rˆrmr‰rr‘zA,C,DzA,C:Dr“)r[r-r r!r=rEr—Údf3s        r"Útest_usecols_strzTestReaders.test_usecols_strüsh€Ü# F¨GÔ4àš/Ñ*ˆÜ˜ (¨FÔ3äm‰mØ hÑ ¨8¸qÈ%ô
ˆôm‰mØ hÑ ØØSØØô 
ˆô     ×јc 8Ô,Ü
×јc 8Ô,à˜3 ˜*Ñ%ˆÜ˜ (¨FÔ3äm‰mØ hÑ ¨8¸qÈ'ô
ˆôm‰mØ hÑ ØØSØØô 
ˆô     ×јc 8Ô,Ü
×јc 8Ô,äm‰mØ hÑ ¨8¸qÈ'ô
ˆôm‰mØ hÑ ØØSØØô 
ˆô     ×јc 8Ô,Ü
×јc 8Õ,r$r‡)rrmr…)rr…rm)rmrr…)rmr…r)r…rrm)r…rmrcó¨—t||«|ddg}t|||«tjd|zdd|¬«}t    j
||«y)Nr›r‘rkr{rr†r“)r[r-r r!r‡r=rErrs        r"Ú.test_usecols_diff_positional_int_columns_orderz:TestReaders.test_usecols_diff_positional_int_columns_order/sV€ô     $ F¨GÔ4à˜3 ˜*Ñ%ˆÜ˜ (¨FÔ3ä—‘Ø hÑ ¨8¸qÈ'ô
ˆô     ×јf hÕ/r$rÚDcó¦—|ddg}tt|««|_tjd|zd|¬«}t j ||«y)Nrr rkr{©r|r‡)ÚrangeÚlenrBrWrVr”r•)r[r!r‡r=rErrs      r"Ú.test_usecols_diff_positional_str_columns_orderz:TestReaders.test_usecols_diff_positional_str_columns_order?sH€à˜3 ˜*Ñ%ˆÜœs 8›}Ó-ˆŒä—‘˜w¨Ñ1¸hÐPWÔXˆÜ
×јf hÕ/r$cóœ—t||«|}t|||«tjd|zdd¬«}t    j
||«y©Nrkr{r©r|r9r“©r[r-r r!r=rErrs       r"Útest_read_excel_without_slicingz+TestReaders.test_read_excel_without_slicingGsE€Ü# F¨GÔ4àˆÜ˜ (¨FÔ3ä—‘˜w¨Ñ1¸hÐRSÔTˆÜ
×јf hÕ/r$có¨—t||«|ddg}t|||«tjd|zddd¬«}t    j
||«y)Nr‘r rkr{rzA,D:Er†r“r©s       r"Útest_usecols_excel_range_strz(TestReaders.test_usecols_excel_range_strPsT€Ü# F¨GÔ4à˜3 ˜*Ñ%ˆÜ˜ (¨FÔ3ä—‘Ø hÑ ¨8¸qÈ'ô
ˆô     ×јf hÕ/r$cóž—d}tjt|¬«5tjd|zdd¬«ddd«y#1swYyxYw)NzInvalid column name: E1ryrkr{zD:E1r¢r‹rs   r"Ú$test_usecols_excel_range_str_invalidz0TestReaders.test_usecols_excel_range_str_invalid[sC€Ø'ˆä ]‰]œ:¨SÔ 1ñ    SÜ M‰M˜' HÑ,¸È6Õ R÷    S÷    Sñ    Súó žAÁA có¦—d}tjt|¬«5tjd|zddgddg¬«ddd«y#1swYyxYw)Nz(list indices must be integers.*, not strryrkr{r›r‘r†©r&r€rrWrVrs   r"Útest_index_col_label_errorz&TestReaders.test_index_col_label_errorasM€Ø8ˆä ]‰]œ9¨CÔ 0ñ    Ü M‰Mؘ(Ñ"Ø#ؘ%ؘc˜
õ     ÷    ÷    ñ    ús ž AÁAcóš—tjd|zdd¬«}tgd¢tgd¬«¬«}t    j
||«y)NrkÚSheet3r›r¨)rr‘r ÚEÚF©rC©ÚcolumnsrB)rWrVr r r”r•©r[r!rrrEs    r"Útest_index_col_strzTestReaders.test_index_col_strlsB€ä—‘˜w¨Ñ1¸hÐRUÔVˆÜÚ-´U¸2ÀCÔ5Hô
ˆô     ×јf hÕ/r$c    ó´—tjd|zdgd¢¬«}tgd¢tggdzggdzgd¢¬«¬«}t    j
||«y)    Nrkr´ršr¨)r rµr¶r…©ÚlevelsÚcodesÚnamesr¸)rWrVr rr”r•rºs    r"Útest_index_col_emptyz TestReaders.test_index_col_emptytsU€ä—‘Ø hÑ ¨8ºô
ˆôÚ#Ü R D¨1¡H°R°D¸1±HÂOÔTô
ˆô     ×јf hÕ/r$r9Nr’cóЗtjd|zd|¬«}tgd¢gd¢ggd¢¬«}|r|j|j|«}t j ||«y)NrkÚSheet4r¨)Úi1ÚaÚx)Úi2ÚbÚy)z
Unnamed: 0Úcol1Úcol2©r¹)rWrVr Ú    set_indexr¹r”r•)r[r!r9rrrEs     r"Útest_index_col_with_unnamedz'TestReaders.test_index_col_with_unnamedsf€ô—‘Ø hÑ ¨8¸yô
ˆôÚ Ò/Ð 0Ò:Xô
ˆñ Ø×)Ñ)¨(×*:Ñ*:¸9Ñ*EÓFˆHä
×јf hÕ/r$cóž—d}tjt|¬«5tjd|zdg¬«ddd«y#1swYyxYw)NzEUsecols do not match columns, columns expected but not found: \['E'\]ryrkrµ©r‡r‹rs   r"Ú%test_usecols_pass_non_existent_columnz1TestReaders.test_usecols_pass_non_existent_columnsF€ð ð     ô ]‰]œ:¨SÔ 1ñ    =Ü M‰M˜' HÑ,°s°eÕ <÷    =÷    =ñ    =úr¯có —d}tjt|¬«5tjd|zddg¬«ddd«y#1swYyxYw)Nz['usecols' must either be list-like of all strings, all unicode, all integers or a callable.ryrkÚE1rrÐr‹rs   r"Útest_usecols_wrong_typez#TestReaders.test_usecols_wrong_type—sM€ð Dð     ô
]‰]œ:¨SÔ 1ñ    AÜ M‰M˜' HÑ,°t¸Q°iÕ @÷    A÷    Añ    Aús žAÁA cóˆ—tjd|zd¬«}tddggddg¬«}tj||«y)    NÚtest2r{©r|ÚaaaaÚbbbbbÚTestÚTest1rÌ©rWrVr r”r•)r[r!ÚparsedrEs    r"Útest_excel_stop_iteratorz$TestReaders.test_excel_stop_iterator s@€Ü—‘˜w¨Ñ1¸hÔGˆÜ˜v wÐ/Ð0¸6À7Ð:KÔLˆÜ
×јf hÕ/r$có*—t||«|dk(r4|dk(r/|jtjj    d¬««t j d|zd¬«}ttjggdg¬    «}tj||«y)
Nrrz+Calamine can't extract error from ods filesrIÚtest3r{r×rÚrÌ) rNrKr&rLrMrWrVr ÚnpÚnanr”r•)r[r-r r!rÝrEs      r"Útest_excel_cell_error_naz$TestReaders.test_excel_cell_error_na¥s~€Ü# F¨GÔ4ð ZÒ  H°Ò$6Ø × Ñ Ü— ‘ ×!Ñ!Ð)VÐ!ÓWô ô—‘˜w¨Ñ1¸hÔGˆÜœrŸv™v˜h˜Z°&°Ô:ˆÜ
×јf hÕ/r$có€—t||«|}t|||«tjd|zdd¬«}tjd|zddgd¬«}t    j
||«t    j
||«tjd|zddd¬«}t    j
||j dd    «y)
Nrkr{rr¨rˆrm©r|rŠr9©r|r9Ú
skipfooteréÿÿÿÿ)rNrGrWrVr”r•Úiloc)    r[r-r r!r=rEr–r—rœs             r"Útest_excel_tablezTestReaders.test_excel_table²s¬€Ü# F¨GÔ4àˆÜ˜ (¨FÔ3äm‰m˜G hÑ.¸8ÈqÔQˆÜm‰mØ hÑ ¨8¸q¸cÈQô
ˆô     ×јc 8Ô,Ü
×јc 8Ô,äm‰mØ hÑ ¨8¸qÈQô
ˆô     ×јc 3§8¡8¨C¨R =Õ1r$có˜—t||«t||«}tjgd¢gd¢gd¢gd¢gd¢t    t ddd«t ddd    «t d
d d «t dd d «t ddd «gd|›d¬«dœ«}d}t j||zd¬«}tj||«|j«}d|j|jd df<t j||zd¬«}tj||«t|j«D]G\}    }
t j||zd|    ¬«}|j|
«} tj|| «ŒI|dj!t"«|d<t j||zddt"i¬«}tj||«y)N)rmr’éýÿÿÿér)gô?g@gHáz®Gý?g¸…ëQ¸þ?g•Ö&è .>)TFTTF)rmr’r…ríé)rÅr…ÚcÚdÚeiÝé
ééiqrmé éißr…úM8[ú]©Údtype)ÚIntColÚFloatColÚBoolColÚStrColÚStr2ColÚDateColÚ
test_typesr{r×g@rÿr¨rþ©r|Ú
converters)rNr@r Ú    from_dictr rrWrVr”r•ÚcopyÚlocrBÚ    enumerater¹rÍÚapplyÚstr) r[r-r r!rFrEÚbasenameÚactualÚfloat_expectedÚicolrCÚexps             r"Útest_reader_special_dtypesz&TestReaders.test_reader_special_dtypesÅsº€Ü# F¨GÔ4ä˜H fÓ-ˆÜ×&Ñ&â*ÚBÚ;Ú)Ú2Ü ä   r¨2Ó.Ü   r¨2Ó.Ü   q¨!Ó,Ü   r¨2Ó.Ü   q¨"Ó-ð ð  ˜v Q˜-ô    ñ  ó
ˆð& ˆô—‘˜x¨(Ñ2¸xÔHˆÜ
×јf hÔ/ð"Ÿ™›ˆØADˆ×ј>×/Ñ/°Ñ2°IÐ=Ñ>Ü—‘˜x¨(Ñ2¸xÔHˆÜ
×јf nÔ5ô$ H×$4Ñ$4Ó5ò    /‰JˆD$Ü—]‘]ؘ8Ñ#°ÀDôˆFð×$Ñ$ TÓ*ˆCÜ × !Ñ ! &¨#Õ .ð     /ð& hÑ/×5Ñ5´cÓ:ˆÑÜ—‘Ø xÑ ¨HÀ(ÌCÀô
ˆô     ×јf hÕ/r$c
ó—d}tjgd¢dtjdddggd¢dtjd    d
d gd œ«}d „d„d„d„dœ}t    j
||zd|¬«}t j||«y)NÚtest_converters)rmr’rìéüÿÿrg)@gÍÌÌÌÌL2@g3333333@g:Œ0âŽy5>)ÚFoundrrú    Not foundrÚ1Ú3Ú4Ú5)rûrürýrþcó&—|dk7r t|«SdS)NÚr)Úint©rÆs r"ú<lambda>z4TestReaders.test_reader_converters.<locals>.<lambda>s€¨!¨rª'¤ A£€°u€r$có0—|rd|zStjS)Nrò)rárârs r"rz4TestReaders.test_reader_converters.<locals>.<lambda>s€©A " q¡&€´2·6±6€r$có—|dk7rdSdS)Nrrrr1rs r"rz4TestReaders.test_reader_converters.<locals>.<lambda>s€ A¨¢G˜€°€r$có —|r t|«SdS)Nr)r    rs r"rz4TestReaders.test_reader_converters.<locals>.<lambda>s€¡1œ˜Q›€¨"€r$)rûrür’r…r{r)r rrárârWrVr”r•)r[r!r
rErr s      r"Útest_reader_convertersz"TestReaders.test_reader_converters÷s‰€Ø$ˆä×&Ñ&â.Ø!¤2§6¡6¨4°°{ÐCÚLؤ§¡¨¨S°#Ð6ñ     ó
ˆñ=Ù9Ù<Ù,ñ    
ˆ
ô—‘Ø xÑ ¨HÀô
ˆô     ×јf hÕ/r$c    ó@—d}tj||z«}tgd¢gd¢gd¢ddtjdgdœ«}t j ||«tj||zdd    td
œ¬ «}|d jd«|d <|d jd    «|d <tgd¢d¬ «|d<t j ||«d}tjt|¬«5tj||zddi¬ «ddd«y#1swYyxYw)NÚ    testdtype©rmr’r…rí©ç@ç @ç@ç@çð?ç@ç@©rÅrÈrïrðÚfloat64Úfloat32)rÅrÈrïrùrÅrÈ©Ú001Ú002Ú003Ú004r    rïz(Unable to convert column d to type int64ryrðÚint64) rWrVr rárâr”r•r    Úastyperr&r€rŒ)r[r!r
r rEr‚s      r"Útest_reader_dtypezTestReaders.test_reader_dtypes    €àˆÜ—‘˜x¨(Ñ2Ó3ˆäâ!Ú)Ú!ؘ3¤§¡¨Ð,ñ     ó
ˆô     ×јf hÔ/ä—‘Ø xÑ ¨Y¸YÌSÑ'Qô
ˆð! ™ ×,Ñ,¨YÓ7ˆ‰ Ø  ™ ×,Ñ,¨YÓ7ˆ‰ ÜÒ;À5ÔIˆ‰ Ü
×јf hÔ/à8ˆÜ ]‰]œ:¨SÔ 1ñ    EÜ M‰M˜( XÑ-°c¸7°^Õ D÷    E÷    Eñ    Eús Ã.DÄDzdtype,expectedr$r%r*r+r,r-r.r/rùr0r    rÚ2rcóh—d}tj||z|¬«}tj||«y)Nr#rù©rWrVr”r•)r[r!rúrEr
r s      r"Útest_reader_dtype_strz!TestReaders.test_reader_dtype_str.s.€ð:ˆä—‘˜x¨(Ñ2¸%Ô@ˆÜ
×јf hÕ/r$cóÆ—|dvrtjd|›d«ttddgd¬«tdd    gd
¬«td d gd ¬«tddgd¬«ttj
dgd¬«ttj
dgd
¬«ttj
d gd ¬«ttj
dgd¬«tt    j d«gdz«ttj
tj
gd¬«dœ
«}tj|«5}|j|dd ¬«t    j|d|¬«}ddd«|dk(r¦ddl }ddl m }t|jD    cic]}    |    ||j||    d ¬««“Œ!c}    «}
||
djj j#|j%d¬«««|
d<||jddg««|
d <n)|}
t'||«} |
dj)d!| ›d"«|
d<tj*|
«y#1swYŒôxYwcc}    w)#N©rrúNo engine for filetype: 'ú'rmr…ÚInt64rùr&r(ÚFloat64TFÚbooleanrÅrÈÚstringég@z
2019-12-31r’)
rÅrÈrïrðrñrqÚgÚhÚiÚjÚtest©r|rB©r|Ú dtype_backendÚpyarrowr)ÚArrowExtensionArray)Ú from_pandasrGÚus)rFrHr÷rø)r&Úskipr rrWÚNAÚ    Timestampr”Ú ensure_cleanÚto_excelrVrMÚ pandas.arraysrNr¹ÚarrayÚ    _pa_arrayÚcastÚ    timestampr@r6r•) r[r!rLr ÚdfÚ    file_pathrrÚparNÚcolrErFs             r"Útest_dtype_backendzTestReaders.test_dtype_backendPs€à Ð(Ñ (Ü K‰KÐ3°H°:¸QÐ?Ô @ä ä˜Q ˜F¨'Ô2ܘS #˜J¨iÔ8ܘT 5˜M°Ô;ܘS #˜J¨hÔ7ÜœRŸU™U A˜J¨gÔ6ÜœRŸU™U C˜L°    Ô:ÜœRŸU™U D˜M°Ô;ÜœRŸU™U C˜L°Ô9ÜœRŸ\™\¨,Ó7Ð8¸1Ñ<Ó=ÜœRŸU™U¤B§E¡E˜N°'Ô:ñ ó 
ˆô_‰_˜XÓ &ð    ¨)Ø K‰K˜    ¨f¸EˆKÔ BÜ—]‘]Ø f¸MôˆF÷    ð
˜IÒ %Û  å 9ä ð "Ÿz™zöàðÑ,¨R¯X©X°b¸±gÈ4¨XÓ-PÓQÑQòóˆHñ0ؘ‘ ×#Ñ#×-Ñ-×2Ñ2°2·<±<ÀT°<Ó3JÓKóˆHS‰Mñ0°·±¸$À¸Ó0FÓGˆHSŠMàˆHÜ ¨&Ó1ˆDØ$ S™M×0Ñ0°3°t°f¸A°Ó?ˆHS‰Mä
×јf hÕ/÷7    ð    üòsÄ2-IÆ    $IÉIcót—|dvrtjd|›d«ttjdgdtjgdœ«}t j |«5}|j|dd¬    «tj|dd
d ¬ «}ddd«t j|«y#1swYŒ xYw) Nr=r>r?r*r&©rÅrÈrIFrJÚnumpy_nullabler.)r|rLrú) r&rQr rárâr”rTrUrWrVr•)r[r!r[r\rrs     r"Útest_dtype_backend_and_dtypez(TestReaders.test_dtype_backend_and_dtype€s¡€à Ð(Ñ (Ü K‰KÐ3°H°:¸QÐ?Ô @ä œbŸf™f c˜]°#´r·v±v°Ñ?Ó @ˆÜ _‰_˜XÓ &ð    ¨)Ø K‰K˜    ¨f¸EˆKÔ BÜ—]‘]ØØ!Ø.Øô    ˆF÷    ô     ×јf bÕ)÷    ð    ús Á!.B.Â.B7c
óØ—|dvrtjd|›d«tjd|«5t    t j ddgt
j¬«t j dtjgt
j¬«d    œ«}tj|«5}|j|d
d ¬ «tj|d
d ¬«}ddd«t    tddgtj|«¬«tddgtj|«¬«d    œ«}tj|d ¬«ddd«y#1swYŒxxYw#1swYyxYw)Nr=r>r?zmode.string_storagerÅrÈrùrÆrarIFrJrbrK)Úcheck_column_type)r&rQrWÚoption_contextr rárWÚobject_rRr”rTrUrVrÚ StringDtyper•)r[r!Ústring_storager[r\rrrEs       r"Útest_dtype_backend_stringz%TestReaders.test_dtype_backend_strings0€à Ð(Ñ (Ü K‰KÐ3°H°:¸QÐ?Ô @ä × Ñ Ð4°nÓ Eñ    MÜ䟙 3¨ *´B·J±JÔ?ÜŸ™ 3¬¯© ,´b·j±jÔAñóˆBô—‘ Ó*ð ¨iØ— ‘ ˜I°&À ÔFÜŸ™Ø¨&Ð@Pô÷ ô !ä  c 
´"·.±.ÀÓ2PÔQÜ  d  ´2·>±>À.Ó3QÔRñóˆHô × !Ñ ! &¨(ÀeÕ L÷-    Mð    M÷ ð ú÷    Mð    Mús%´A<E Â0-EÃA.E ÅE    ÅE Å E)zdtypes, exp_valuermúa.1r5có—d}dti|¥}|j«}tj||z|¬«}t    t dgt¬«t |g|stnd¬«dœ«}||k(sJd«‚t j||«y)NÚdf_mangle_dup_col_dtypesrÅrùrm)rÅrkzdtype dict changed)ÚobjectrrWrVr rr”r•)    r[r!ÚdtypesÚ    exp_valuer
dtype_dictÚdtype_dict_copyrrrEs             r"Útest_dtype_mangle_dup_colsz&TestReaders.test_dtype_mangle_dup_cols­sŠ€ð.ˆØœ6Ð, VÐ,ˆ
Ø$Ÿ/™/Ó+ˆä—‘˜x¨(Ñ2¸*ÔEˆÜä˜Q˜C¤vÔ.ܘy˜k¹vµÈ4ÔPñ ó
ˆð ˜_Ò,ÐBÐ.BÓBÐ,Ü
×јf hÕ/r$có‚—d}tj||z«}tdgd¢i«}tj||«y)NÚ test_spacesÚtestcol)z this is greatz 4    spacesz 1 trailing z
 1 leadingz2  spaces  multiple  timesrÜ)r[r!r
r rEs     r"Útest_reader_spaceszTestReaders.test_reader_spaces¾sC€à ˆä—‘˜x¨(Ñ2Ó3ˆÜàòð ó
 
ˆô     ×јf hÕ/r$zbasename,expectedzgh-35802ÚCOLUMNzTest (1)zgh-36122z
got 2nd sarÌcóš—|dk7rtjd|›«tj||z«}t    j
||«y)NrzSkipped for engine: )r&rQrWrVr”r•)r[r r!r
rEr s      r"Útest_read_excel_ods_nested_xmlz*TestReaders.test_read_excel_ods_nested_xmlÑsB€ð UŠ?Ü K‰KÐ.¨v¨hÐ7Ô 8ä—‘˜x¨(Ñ2Ó3ˆÜ
×јf hÕ/r$cóȗd}tj||zd¬«}gd¢}tj||j    ««|t |j    ««k(sJ‚y)NÚtest_multisheetr×)ÚCharlieÚAlphaÚBeta)rWrVr”Úassert_contains_allÚkeysÚlist©r[r!r
ÚdfsÚ expected_keyss     r"Útest_reading_all_sheetsz#TestReaders.test_reading_all_sheetsàsT€ð%ˆÜm‰m˜H xÑ/¸DÔAˆâ4ˆ Ü
×ј}¨c¯h©h«jÔ9ð¤ S§X¡X£ZÓ 0Ò0Ð0Ñ0r$có—d}gd¢}tj||z|¬«}tt|««}t    j
||j ««t|«t|j ««k(sJ‚y)Nr|)r’r}r}r×)rWrVr‚Úsetr”r€rr¤)r[r!r
r…r„s     r"Ú%test_reading_multiple_specific_sheetsz1TestReaders.test_reading_multiple_specific_sheetsíse€ð %ˆâ1ˆ ܏m‰m˜H xÑ/¸MÔJˆÜœS Ó/Ó0ˆ Ü
×ј}¨c¯h©h«jÔ9ܐ=Ó!¤S¨¯©«£_Ò4Ð4Ñ4r$cóŒ—d}tj||zd¬«}gd¢}tj||j    ««y)NÚblank_with_headerr×)r{rˆr´)rWrVr”r€rrƒs     r"Ú"test_reading_all_sheets_with_blankz.TestReaders.test_reading_all_sheets_with_blankûs9€ð'ˆÜm‰m˜H xÑ/¸DÔAˆÚ6ˆ Ü
×ј}¨c¯h©h«jÕ9r$cót—tjd|zd¬«}tj|t    ««y)NÚblankr{r×)rWrVr”r•r )r[r!r s   r"Útest_read_excel_blankz!TestReaders.test_read_excel_blanks)€Ü—‘˜w¨Ñ1¸hÔGˆÜ
×јf¤i£kÕ2r$có€—tddg¬«}tjd|zd¬«}tj||«y)NÚcol_1Úcol_2rÌr‹r{r×)r rWrVr”r•)r[r!rEr s    r"Ú!test_read_excel_blank_with_headerz-TestReaders.test_read_excel_blank_with_header    s7€Ü g¨wÐ%7Ô8ˆÜ—‘Ð2°XÑ=È(ÔSˆÜ
×јf hÕ/r$có4—tjtd¬«5tjd|zdgd¬«ddd«tjt
d¬«5tjd|zd„d¬«ddd«y#1swYŒJxYw#1swYyxYw)    Nz \(sheet: Sheet1\)$ryr‹rm)Úheaderr|rkcó —ddz S)Nrmrr1rs r"rzHTestReaders.test_exception_message_includes_sheet_name.<locals>.<lambda>s
€ÀÀAÁ€r$)r‡r|)r&r€rŒrWrVÚZeroDivisionError©r[r!s  r"Ú*test_exception_message_includes_sheet_namez6TestReaders.test_exception_message_includes_sheet_namesˆ€ä ]‰]œ:Ð-CÔ Dñ    WÜ M‰MÐ-°Ñ8À!ÀÐQUÕ V÷    Wä ]‰]Ô,Ð4JÔ Kñ    XÜ M‰M˜' HÑ,±oÐRVÕ W÷    Xð    X÷    Wð    Wú÷    Xð    XúsœBÁBÂB ÂBz-ignore:Cell A4 is marked:UserWarning:openpyxlcóÆ—t||«ttjd«dgtjd«dgddggddg¬    «}|d
k(r/|j    t
j jd ¬ ««|€3|d vr/|j    t
j jd¬ ««tjd|z«}tj||«y)Nz
2016-03-12z Marc Johnsonz
2016-03-16z
Jack Blackg@Œµx¯Dz Timothy BrownÚDateColWithBigIntÚ    StringColrÌrzMaybe not supported by openpyxlrI)rrz)Defaults to openpyxl, maybe not supportedÚtestdateoverflow) rNr rWrSrKr&rLrMrVr”r•)r[r-r r!rErrs      r"Útest_date_conversion_overflowz)TestReaders.test_date_conversion_overflows؀ô    $ F¨GÔ4ää—‘˜lÓ+¨^Ð<Ü—‘˜lÓ+¨\Ð:ؐÐ'ð ð
)¨+Ð6ô 
ˆð ZÒ Ø × Ñ Ü— ‘ ×!Ñ!Ð)JÐ!ÓKô ð ˆ>˜hÐ*<Ñ<à × Ñ Ü— ‘ ×!Ñ!Ð)TÐ!ÓUô ô—‘Ð1°HÑ<Ó=ˆÜ
×јf hÕ/r$có—t||«d}d}|}t|||«tj||z|d¬«}tj||zd|¬«}    t    j
||«t    j
|    |«y©Nrkr{rr¨)r9r|r“)
r[r-r!r r=Úfilenamer|rEr–r—s
          r"Útest_sheet_namezTestReaders.test_sheet_name1sz€Ü# F¨GÔ4àˆØˆ
àˆÜ˜ (¨FÔ3äm‰mØ xÑ ¨JÀ!ô
ˆôm‰m˜H xÑ/¸1ÈÔTˆä
×јc 8Ô,Ü
×јc 8Õ,r$cóܗd|z}tj|dd¬«}t|d«5}tj|dd¬«}tj||«ddd«y#1swYyxYw)Nrkr{rr¨rl)rWrVror”r•)r[r!ÚpthrErqr s      r"Útest_excel_read_bufferz"TestReaders.test_excel_read_bufferBs`€Ø˜Ñ ˆÜ—=‘= °ÀQÔGˆÜ #t‹_ð    4 Ü—]‘] 1°ÀQÔGˆFÜ × !Ñ ! (¨FÔ 3÷    4÷    4ñ    4ús ª/A"Á"A+có–—d}tjtd¬«5tjd|¬«ddd«y#1swYyxYw)NruzUnknown engine: fooryrrTr‹)r[Ú
bad_engines  r"Útest_bad_engine_raisesz"TestReaders.test_bad_engine_raisesIs9€Øˆ
Ü ]‰]œ:Ð-BÔ Cñ    1Ü M‰M˜" ZÕ 0÷    1÷    1ñ    1ús    ž?¿Ar|r…rrÃr{cóœ—d}tjt|¬«5tjd|z|¬«ddd«y#1swYyxYw©Nz?Worksheet index 3 is invalid|Worksheet named 'Sheet4' not foundryrŽr×r‹)r[r!r|r‚s    r"Útest_bad_sheetname_raisesz%TestReaders.test_bad_sheetname_raisesNsD€ð PˆÜ ]‰]œ:¨SÔ 1ñ    EÜ M‰M˜' HÑ,¸Õ D÷    E÷    Eñ    Eúó žAÁA có¾—d|›}djgd¢«}tjt|¬«5t    j
|«ddd«y#1swYyxYw)Nruú|)z(No such file or directoryu没有那个文件或目录zFile o directory non esistente)ry)Újoinr&r€ÚFileNotFoundErrorrWrV)r[r!Úbad_filerzs    r"Útest_missing_file_raisesz$TestReaders.test_missing_file_raisesXsS€Ø˜˜
Ð#ˆà—‘ò ó
ˆô]‰]Ô,°EÔ :ñ    $Ü M‰M˜(Ô #÷    $÷    $ñ    $ús ´AÁAcó—d}|€    t}d}n(|dk(r ddlm}|}d}n|dk(r ddlm}|}d    }nt
}d
}t j||¬ «5tjt|««ddd«y#1swYyxYw) NsfoozLExcel file format cannot be determined, you must specify an engine manually.rr)Ú    XLRDErrorzFUnsupported format, or corrupt file: Expected BOF record; found b'foo'r©Ú CalamineErrorzCannot detect file formatzFile is not a zip filery) rŒrr´rr¶r
r&r€rWrVr)r[r Ú
bad_streamÚerrorr‚r´r¶s       r"Útest_corrupt_bytes_raisesz%TestReaders.test_corrupt_bytes_raisesesŒ€Øˆ
Ø ˆ>܈Eð.ñ ðvÒ Ý &àˆEð'ñ ðzÒ !Ý 5à!ˆEØ-‰CäˆEØ*ˆCÜ ]‰]˜5¨Ô ,ñ    /Ü M‰Mœ' *Ó-Ô .÷    /÷    /ñ    /ús Á A5Á5A>có&—td|zd«5}|j|j«¬«ddd«tj|j
«}tjd|z«}t j||«y#1swYŒWxYw)Nrkrl)Úcontent)roÚ serve_contentÚreadrWrVÚurlr”r•)r[Ú
httpserverr!rqÚ    url_tableÚ local_tables      r"Útest_read_from_http_urlz#TestReaders.test_read_from_http_url€sv€ô'˜HÑ$ dÓ +ð    7¨qØ × $Ñ $¨Q¯V©V«XÐ $Ô 6÷    7ä—M‘M *§.¡.Ó1ˆ    Ü—m‘m G¨hÑ$6Ó7ˆ Ü
×јi¨Õ5÷        7ð    7ús !BÂBcó(—td|zd«5}|jd|z|¬«ddd«d|j›d|z}tj||¬«}tjd|z«}t j ||«y#1swYŒbxYw)Nrkrl©ÚKeyÚBodyús3://ú/test1)Ústorage_options)roÚ
put_objectrCrWrVr”r•)r[r!Ús3_public_bucketÚs3sorqr¾rÀrÁs        r"Útest_read_from_s3_urlz!TestReaders.test_read_from_s3_url‰s–€ô'˜HÑ$ dÓ +ð    H¨qØ × 'Ñ '¨G°hÑ,>ÀQÐ 'Ô G÷    HðÐ&×+Ñ+Ð,¨FÐ3°hÑ>ˆä—M‘M #°tÔ<ˆ    Ü—m‘m G¨hÑ$6Ó7ˆ Ü
×јi¨Õ5÷    Hð    Hús BÂBcó˜—td|zd«5}|jd|z|¬«ddd«ddl}|jdi|¤Ž}|jd|j›d|z«5}t j |«}ddd«t j d|z«}tj|«y#1swYŒŽxYw#1swYŒDxYw)NrkrlrÄrrÇrÈr1)    rorÊÚs3fsÚ S3FileSystemrCrWrVr”r•)    r[r!rËrÌrqrÏÚs3rÀrÁs             r"Útest_read_from_s3_objectz$TestReaders.test_read_from_s3_object–s̀ô'˜HÑ$ dÓ +ð    H¨qØ × 'Ñ '¨G°hÑ,>ÀQÐ 'Ô G÷    Hó    à ˆT× Ñ Ñ & Ñ &ˆà W‰WuÐ-×2Ñ2Ð3°6Ð:¸XÑEÓ Fð    )È!ÜŸ ™  aÓ(ˆI÷    )ô—m‘m G¨hÑ$6Ó7ˆ Ü
×јi¨Õ5÷    Hð    Hú÷    )ð    )úsB4Á'CÂ4B=ÃC    có’—tjj|ddd«d|z«}tj|«}    tjd|z«}tj|«y#t
$rLdjt j««j«}tjd|›«YŒkwxYw)Nr5r6rUrkzfile://localhost/ú z failing on ) ÚosÚpathr¯rWrVr    ÚplatformÚunameÚstripr&rQr”r•)r[r!r;Ú
localtablerÁrÀÚ platform_infos       r"Útest_read_from_file_urlz#TestReaders.test_read_from_file_url§s¡€ô—W‘W—\‘\¡(¨4°¸Ó"AÀ7ÈXÑCUÓVˆ
Ü—m‘m JÓ/ˆ ð    7ÜŸ ™ Ð&9¸JÑ&FÓGˆIô      ×јi¨Õ5øô ò    7àŸH™H¤X§^¡^Ó%5Ó6×<Ñ<Ó>ˆMÜ K‰K˜+ m _Ð5Ö 6ð    7úsÁA1Á1ACÃCcó¶—d|z}tj|dd¬«}td|z«}tj|dd¬«}tj||«yr§)rWrVrr”r•)r[r!Ústr_pathrEÚpath_objr s      r"Útest_read_from_pathlib_pathz'TestReaders.test_read_from_pathlib_path¶sO€à˜XÑ%ˆÜ—=‘= °hÈ!ÔLˆä˜ (Ñ*Ó+ˆÜ—‘˜x°HÈÔJˆä
×јh¨Õ/r$zpy.pathcó—ddlm}tjj    d|z«}t j |dd¬«}|«j    d|z«}t j |dd¬«}tj||«y)Nr)Úlocalrkr{r¨)    Úpy.pathrârÕrÖr¯rWrVr”r•)r[r!Ú    LocalPathrÞrErßr s       r"Útest_read_from_py_localpathz'TestReaders.test_read_from_py_localpathÀsi€õ    /ä—7‘7—<‘< ¨(Ñ 2Ó3ˆÜ—=‘= °hÈ!ÔLˆá“;×#Ñ# G¨hÑ$6Ó7ˆÜ—‘˜x°HÈÔJˆä
×јh¨Õ/r$cóܗtjjd|z«}t|d«5}t    j
|dd¬«}~|j «ddd«y#1swYyxYw)Nrkrlr{rr¨)rÕrÖr¯rorWrVr½)r[r!rÞrqrÆs     r"Útest_close_from_py_localpathz(TestReaders.test_close_from_py_localpathÍsX€ä—7‘7—<‘< ¨(Ñ 2Ó3ˆÜ (˜DÓ !ð     QÜ— ‘ ˜a¨HÀÔBˆAØà F‰FŒH÷        ÷    ñ    ús ¯*A"Á"A+có–—t||«|dk(r4|dk(r/|jtjj    d¬««t j dtddd«tdd    d
d «td d dd«tdddd«tdddd«tdddd«tdddd«tddd d!«td d"dd#«td$d%d&d'«td(d)d*«g i«}tjd+|zd,¬-«}tj||«tjd.|zd,¬-«}tj||«y)/Nrrz0ODS file contains bad datetime (seconds as text)rIÚTimermr’r…é-é8i †ríéé1i@ rDé é*ià“éé9é#i€é    é)éi ¡é ééiÀ'    röi`®
é5i5 éé%ri » ééé6Ú
times_1900r{r×Ú
times_1904) rNrKr&rLrMr rrrWrVr”r•)r[r-r r!rEr s      r"Útest_reader_secondszTestReaders.test_reader_secondsÖsE€Ü# F¨GÔ4ð ZÒ  H°Ò$6Ø × Ñ Ü— ‘ ×!Ñ!ØMð"óô ô×&Ñ&àܘ˜A˜q“Mܘ˜B  FÓ+ܘ˜B  FÓ+ܘ˜B  FÓ+ܘ˜B  FÓ+ܘ˜B  FÓ+ܘ˜R  VÓ,ܘ˜Q  FÓ+ܘ˜R  FÓ+ܘ˜R  FÓ+ܘ˜R Ó$ð ð ó
ˆô$—‘˜|¨hÑ6À8ÔLˆÜ
×јf hÔ/ä—‘˜|¨hÑ6À8ÔLˆÜ
×јf hÕ/r$c
ó2—t||«t||«}tjddgddgg«}d|z}t    ddt j d«d    gd
d t j d «d gddt j d«d gddt j d«d    gg|¬«}||d
jd|›d«||d
<t j|dddgd¬«}tj||«||_ gd¢|_ t j|dddg¬«}tj||«||_ t j|dddgddg¬«}tj||«gd¢|_ |jdd g«|_ t j|d!ddg¬«}tj||«ttd««|_ |jd"d#g«|_ t j|d$ddgd¬«}tj||«|j!dd
gd¬%«jd"d#g«|_ t j|d&dddg¬«}tj||«|jd"d#g«|_ |jdd g«|_ t j|d'ddgddg¬«}tj||«t j|d(ddgddgd
¬)«}tj||«y)*NruÚbarrÅrÈÚtestmultiindexrmr&ú
2015-01-01Tr’r'ú
2015-01-02Fr…r(ú
2015-01-03rír)ú
2015-01-04rÌr÷røÚ    mi_columnr)r|r•r9r-Úmi_indexr¨Úboth©r|r9r•Úilvl1Úilvl2Ú mi_index_nameÚc1Úc2Úmi_column_name)ÚlevelÚ name_with_intÚ    both_nameÚboth_name_skiprows)r|r9r•rŠ)rNr@rÚ from_productr rWrSr6rVr”r•rBr¹Ú    set_namesr‚r£Ú
set_levels)    r[r-r r!rFÚmiÚmi_filerEr s             r"Útest_read_excel_multiindexz&TestReaders.test_read_excel_multiindexúsù€ä# F¨GÔ4ä˜H fÓ-ˆä × $Ñ $ u¨e n°s¸C°jÐ%AÓ BˆØ" XÑ-ˆôàCœŸ™ lÓ3°TÐ:ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°TÐ:ð     ð ô
ˆð# 2 a¡5™/×0Ñ0°3°t°f¸A°Ó?ˆA‘‰ä—‘Ø   °Q¸°FÀaô
ˆô     ×јf hÔ/ðˆŒÚ/ˆÔä—‘˜w°:È!ÈQÈÔPˆÜ
×јf hÔ/ðˆÔä—‘Ø  °1°a°&À!ÀQÀô
ˆô     ×јf hÔ/ò0ˆÔØŸ™ w°Ð&8Ó9ˆŒä—‘˜w°?ÈqÐRSÈfÔUˆÜ
×јf hÔ/ôœe A›h›ˆŒØŸ<™<¨¨t¨ Ó5ˆÔÜ—‘Ø Р0¸!¸Q¸È1ô
ˆô     ×јf hÔ/ðŸ=™=¨!¨Q¨°q˜=Ó9×CÑCÀTÈ4ÀLÓQˆÔä—‘Ø  ¸1ÀaÈÀVô
ˆô     ×јf hÔ/ðŸ<™<¨¨t¨ Ó5ˆÔØŸ™ w°Ð&8Ó9ˆŒä—‘Ø   ¸¸1°vÀqÈ!Àfô
ˆô     ×јf hÔ/ô—‘Ø Ø+ؘ!fؐq6Øô 
ˆô     ×јf hÕ/r$zsheet_name,idx_lvl2Úboth_name_blank_after_mi_namerÈrÅÚboth_name_multiple_blanksríc
ó6—t||«d|z}tjddgddggddg¬«}t||«}t    d    d
t j d «d gd dt j d«dgddt j d«dgddt j d«d gg|tjgd¢|fddg¬«¬«}    |    |d jd|›d«|    |d <t j||dd    gdd    g¬«}
tj|
|    «y)NrrurrÅrÈrr©rÀrmr&rTr’r'rFr…r(rrír)r)rururrr rr¸r÷rørr ) rNrrr@r rWrSÚ from_arraysr6rVr”r•) r[r-r r!r|Úidx_lvl2rrrFrErrs            r"Ú+test_read_excel_multiindex_blank_after_namez7TestReaders.test_read_excel_multiindex_blank_after_nameNs,€ô    $ F¨GÔ4à" XÑ-ˆÜ × $Ñ $ u¨e n°s¸C°jÐ%AÈ$ÐPTÈÔ Vˆä˜H fÓ-ˆäàCœŸ™ lÓ3°TÐ:ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°TÐ:ð     ð Ü×(Ñ(Ú-¨xÐ8Ø Ð(ôô 
ˆð# 2 a¡5™/×0Ñ0°3°t°f¸A°Ó?ˆA‘‰Ü—‘Ø Ø!ؘ!fؐq6ô    
ˆô      ×јf hÕ/r$có—d|z}tj|dddg¬«}tjddg«}t    gd¢gd    z|¬
«}t j ||«y) NrÚindex_col_nonerrm©r|r•©r›r©ÚkeyÚvalr$r’rÌ)rWrVrrr r”r•)r[r!rrrÚ exp_columnsrEs      r"Ú&test_read_excel_multiindex_header_onlyz2TestReaders.test_read_excel_multiindex_header_onlyvs^€ð# XÑ-ˆÜ—‘˜wÐ3CÈQÐPQÈFÔSˆä ×-Ñ-¨z¸>Ð.JÓKˆ Üšl˜^¨aÑ/¸ÔEˆÜ
×јf hÕ/r$c    óÊ—d|z}tjtjtjtjtjtjggd¢gd¢gd¢gd¢gd¢gt¬«}gd¢}t    gd    ¢gd
¢ggd ¢gd ¢gddg¬ «}t gd    ¢d¬ «}t |||¬«}tj|dd¬«}tj||«||_ tj|dddg¬«}tj||«tjgd¢gd¢gd¢gd¢gd¢g«}gd¢}t    gd¢gd¢ggd¢gd¢gddg¬ «}t gd¢d¬ «}t |||¬«}tj|dd¬«}tj||«||_ tj|dddg¬«}tj||«y)NÚtest_index_name_pre17)ÚR0C0ÚR0C1ÚR0C2ÚR0C3ÚR0C4)ÚR1C0ÚR1C1ÚR1C2ÚR1C3ÚR1C4)ÚR2C0ÚR2C1ÚR2C2ÚR2C3ÚR2C4)ÚR3C0ÚR3C1ÚR3C2ÚR3C3ÚR3C4)ÚR4C0ÚR4C1ÚR4C2ÚR4C3ÚR4C4rù)ÚC_l0_g0ÚC_l0_g1ÚC_l0_g2ÚC_l0_g3ÚC_l0_g4)ÚR0ÚR_l0_g0ÚR_l0_g1ÚR_l0_g2ÚR_l0_g3ÚR_l0_g4)ÚR1ÚR_l1_g0ÚR_l1_g1ÚR_l1_g2ÚR_l1_g3ÚR_l1_g4)rrmr’r…rírîr½r·©rBr¹Ú single_namesrr¨Ú multi_namesrm)rNrOrPrQrR)rTrUrVrWrX)rrmr’r…ríÚsingle_no_namesÚmulti_no_names) rárWrârnrr r rWrVr”r•rB)    r[r!r¡r6r¹rÚsirEr s             r"Útest_excel_old_index_formatz'TestReaders.test_excel_old_index_formats½€à*¨XÑ5ˆô
x‰xä—‘œŸ™¤§¡¬¯©´·±Ð8Ú8Ú8Ú8Ú8Ú8ð  ôô
 
ˆòJˆÜ âMÚMðò&Ò'9Ð:ؘ,ô 
ˆôÚ IÐPTô
ˆô˜T¨°WÔ=ˆä—‘˜x°NÈaÔPˆÜ
×јf hÔ/àˆŒä—‘˜x°MÈaÐQRÈVÔTˆÜ
×јf hÔ/ôx‰xâ8Ú8Ú8Ú8Ú8ð  ó
ˆòJˆÜ âGÚGðò#¢OÐ4ؘ,ô 
ˆôÒJÐQUÔ Vˆä˜T¨°WÔ=ˆä—‘˜xÐ4EÐQRÔSˆÜ
×јf hÔ/àˆŒä—‘˜xÐ4DÐQRÐTUÐPVÔWˆÜ
×јf hÕ/r$cóª—d}dD]@}tjt|¬«5tjd|z|¬«ddd«ŒBy#1swYŒMxYw)Nz#Passing a bool to header is invalid)TFryrk©r•r±)r[r!r‚Úargs    r"Útest_read_excel_bool_header_argz+TestReaders.test_read_excel_bool_header_argÊsQ€à3ˆØ ò    >ˆCÜ—‘œy°Ô4ñ >Ü— ‘ ˜g¨Ñ0¸Õ=÷ >ð >ñ    >÷ >ð >ús £A    Á    A    c
óê—t||«t||«}tjd|zdddg¬«}t    ddtj
d«d    gdd
tj
d «d gd dtj
d«d gddtj
d«d    gggd¢¬«}|dj d|›d«|d<tj||«tjd|zdtjddg«¬«}tj||«tjd|zdd„¬«}tj||«tjd|zdd gd¢¬«}t    dd
tj
d «d gd dtj
d«d gddtj
d«d    gggd¢¬«}|dj d|›d«|d<tj||«y)NÚ testskiprowsÚ skiprows_listrr’©r|rŠrmr&rTr'rFr…r(rrír)rr-rÌrïr÷røcó
—|dvS©N)rr’r1rs r"rz6TestReaders.test_read_excel_skiprows.<locals>.<lambda>ñs
€˜q F˜{€r$)r|rŠrÀ) rNr@rWrVr rSr6r”r•rárW©r[r-r r!rFr rEs       r"Útest_read_excel_skiprowsz$TestReaders.test_read_excel_skiprowsÑsæ€ä# F¨GÔ4ä˜H fÓ-ˆä—‘Ø ˜XÑ %°/ÈQÐPQÈFô
ˆôàCœŸ™ lÓ3°TÐ:ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°TÐ:ð     ò )ô
ˆð! ™ ×,Ñ,¨s°4°&¸¨]Ó;ˆ‰ Ü
×јf hÔ/ä—‘Ø ˜XÑ %Ø&Ü—X‘X˜q !˜fÓ%ô
ˆô
     ×јf hÔ/ô—‘Ø ˜XÑ %Ø&Ù*ô
ˆô
     ×јf hÔ/ä—‘Ø ˜XÑ %Ø&ØÚ&ô    
ˆô ðCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°UÐ;ؐCœŸ™ lÓ3°TÐ:ð     ò )ô
ˆð! ™ ×,Ñ,¨s°4°&¸¨]Ó;ˆ‰ Ü
×јf hÕ/r$cóL—t||«t||«}tjd|zdd„¬«}t    ddtj
d«dgd    d
tj
d «d gggd ¢¬«}|dj d|›d«|d<tj||«y)Nrerfcó
—|dvS)N)rmr…rîr1rs r"rzFTestReaders.test_read_excel_skiprows_callable_not_in.<locals>.<lambda>s €˜q¨    Ð1€r$rgrmr&rTr…r(rFr-rÌrïr÷rø)    rNr@rWrVr rSr6r”r•rjs       r"Ú(test_read_excel_skiprows_callable_not_inz4TestReaders.test_read_excel_skiprows_callable_not_ins¦€ä# F¨GÔ4ܘH fÓ-ˆä—‘Ø ˜XÑ %Ø&Ù1ô
ˆô
àCœŸ™ lÓ3°TÐ:àCœŸ™ lÓ3°UÐ;ð ò )ô
ˆð! ™ ×,Ñ,¨s°4°&¸¨]Ó;ˆ‰ Ü
×јf hÕ/r$có¢—d}tjd|z|¬«}tjd|z«}|d|}tj||«y)Nrîrk©Únrowsr:)r[r!Únum_rows_to_pullr rEs     r"Útest_read_excel_nrowsz!TestReaders.test_read_excel_nrowssO€àÐÜ—‘˜w¨Ñ1Ð9IÔJˆÜ—=‘= ¨8Ñ!3Ó4ˆØÐ-Ð-Ð.ˆÜ
×јf hÕ/r$có´—tjd|z«}t|«}|dz}tjd|z|¬«}tj||«y)Nrkròrp)rWrVr¤r”r•)r[r!rEÚnum_records_in_filerrr s      r"Ú0test_read_excel_nrows_greater_than_nrows_in_filez<TestReaders.test_read_excel_nrows_greater_than_nrows_in_file%sP€ä—=‘= ¨8Ñ!3Ó4ˆÜ! (›mÐØ.°Ñ3ÐÜ—‘˜w¨Ñ1Ð9IÔJˆÜ
×јf hÕ/r$cóœ—d}tjt|¬«5tjd|zd¬«ddd«y#1swYyxYw)Nz'nrows' must be an integer >=0ryrkrrpr‹rs   r"Ú+test_read_excel_nrows_non_integer_parameterz7TestReaders.test_read_excel_nrows_non_integer_parameter-s=€à.ˆÜ ]‰]œ:¨SÔ 1ñ    9Ü M‰M˜' HÑ,°CÕ 8÷    9÷    9ñ    9úr¬z-filename,sheet_name,header,index_col,skiprowsrr    r
r rrerfcó
—|dvSrir1rs r"rzTestReaders.<lambda>;s
€ÀAÈÀK€r$cóÀ—tj||z||||¬«jdd}tj||z||||d¬«}tj||«y)z—
        For various parameters, we should get the same result whether we
        limit the rows during load (nrows=3) or after (df.iloc[:3]).
        )r|r•r9rŠNr…)r|r•r9rŠrq)rWrVrér”r•)    r[r!r¡r|r•r9rŠrEr s             r"Útest_read_excel_nrows_paramsz(TestReaders.test_read_excel_nrows_params3so€ô&—=‘=Ø xÑ Ø!ØØØô 
÷ ‰$ˆrð ˆô—‘Ø xÑ Ø!ØØØØô 
ˆô     ×јf hÕ/r$có˜—tjtd¬«5tjd|zdd«ddd«y#1swYyxYw)Nzbut 3 positional argumentsryrkr{rr±r˜s  r"Útest_deprecated_kwargsz"TestReaders.test_deprecated_kwargsWs;€Ü ]‰]œ9Ð,HÔ Iñ    ;Ü M‰M˜' HÑ,¨h¸Ô :÷    ;÷    ;ñ    ;ús œAÁA    cóƗd|z}gd¢}tjgd¢d¬«}t||d¬«}tj|dd    d
gd¬ «}t j ||«y) Nr))rrr(©r…rír))r›r›r(©rmr’r€)rrmr )r’r…rYr%rrmr )rÚ from_tuplesr rWrVr”r•)r[r!Ú    file_namer6ÚidxrErrs       r"Ú"test_no_header_with_list_index_colz.TestReaders.test_no_header_with_list_index_col[sd€à$ xÑ/ˆ    Ú;ˆÜ×$Ñ$Ú 8Àô
ˆô˜T¨°fÔ=ˆÜ—‘Ø Ð"2¸qÀ!¸fÈTô
ˆô     ×јh¨Õ/r$có¨—d|z}dtjddg}t|dg¬«}tj|«}t j ||«y)NÚone_col_blank_linegà?rmr’ÚnumbersrÌ)rárâr rWrVr”r•)r[r!r‚r6rErrs      r"Útest_one_col_noskip_blank_linez*TestReaders.test_one_col_noskip_blank_linehsJ€à(¨8Ñ3ˆ    Ø”R—V‘V˜Q Ð"ˆÜ˜T¨I¨;Ô7ˆÜ—‘˜yÓ)ˆÜ
×јf hÕ/r$cóB—d|z}tjddg«}tjtjgtjtjgddgddgg}t    ||¬«}t j |d    d
dg¬ «}tj||«y) Nr)rÅr›)rÈrrmr…r’rírÌÚmi_column_empty_rowsrr&)    rrrárâr rWrVr”r•)r[r!r‚r¹r6rErrs       r"Ú test_multiheader_two_blank_linesz,TestReaders.test_multiheader_two_blank_linesps‰€à$ xÑ/ˆ    Ü×(Ñ(¨*°jÐ)AÓBˆÜ—‘œŸ™Ð ¤2§6¡6¬2¯6©6Ð"2°Q¸°F¸QÀ¸FÐCˆÜ˜T¨7Ô3ˆÜ—‘Ø Ð"8À!ÀQÀô
ˆô     ×јf hÕ/r$cóZ—d|z}tj|«}|jdk(sJ‚y)z›
        Sheets can contain blank cells with no data. Some of our readers
        were including those cells, creating many empty rows and columns
        Útrailing_blanks)r…r…N)rWrVÚshape)r[r!r‚rrs    r"Útest_trailing_blanksz TestReaders.test_trailing_blanks{s.€ð
&¨Ñ0ˆ    Ü—‘˜yÓ)ˆØ|‰|˜vÒ%Ð%Ñ%r$có4—|dk(rtjd«|dk(r/|jtjj    d¬««tj
t d¬«5tjd|zd    ¬
«ddd«y#1swYyxYw) Nrú*chartsheets do not exist in the ODF formatrú4pyxlsb can't distinguish chartsheets from worksheetsrIz"Worksheet named 'Chart1' not foundryÚ
chartsheetÚChart1rש    r&rQrKrLrMr€rŒrWrV©r[r-r r!s    r"Útest_ignore_chartsheets_by_strz*TestReaders.test_ignore_chartsheets_by_str„s„€à vÒ Ü K‰KÐDÔ EØ XÒ Ø × Ñ Ü— ‘ ×!Ñ!ØQð"óô ô
]‰]œ:Ð-QÔ Rñ    HÜ M‰M˜,¨Ñ1¸hÕ G÷    H÷    Hñ    Húó Á*BÂBcó4—|dk(rtjd«|dk(r/|jtjj    d¬««tj
t d¬«5tjd|zd    ¬
«ddd«y#1swYyxYw) Nrr‘rr’rIz0Worksheet index 1 is invalid, 1 worksheets foundryr“rmr×r•r–s    r"Útest_ignore_chartsheets_by_intz*TestReaders.test_ignore_chartsheets_by_int‘s‰€à vÒ Ü K‰KÐDÔ EØ XÒ Ø × Ñ Ü— ‘ ×!Ñ!ØQð"óô ô
]‰]Ü ÐPô
ñ    Aô M‰M˜,¨Ñ1¸aÕ @÷    A÷    Añ    Aúr˜có–—tjd|zdd¬«}tgd¢gd¢gd¢ggd¢¬    «}tj||«y)
NÚ test_decimalú,rm)ÚdecimalrŠ)rmgAñc̝ė@gÕ    h¢ïÖAÚABCÚpoig2Ø[j‡ô@)r’gHáz®G^@g{®GáÍ@ÚDEFÚuytg¥Uq&Ø?)r…g%•Cq‹@gçû©ñÖ^ú@ÚGHIÚrezgÈ)¬ç³â@)ÚIdÚNumber1ÚNumber2ÚText1ÚText2ÚNumber3rÌrÜrºs    r"Útest_euro_decimal_formatz$TestReaders.test_euro_decimal_format sJ€ä—‘˜~°Ñ8À#ÐPQÔRˆÜâFÚ@ÚCð ò
Nô 
ˆô     ×јf hÕ/r$)YÚ__name__Ú
__module__Ú __qualname__r&Úfixturer^rsrƒrŽr˜rrLÚ parametrizerŸr¥rªr¬r®r²r»rÁrÎrÑrÔrÞrãrêrr!r7r rárâr    rr;r_rcrjrsrwrzr†r‰rŒrr“r™Úfilterwarningsržr¢r¥r¨r«r²r¹ÚnetworkÚ
single_cpurÂÚtdÚskip_if_not_us_localerÍrÒÚslowrÜràÚ
skip_if_norårçrrr#r,r_rcrkrnrsrvrxr{r}r„rˆr‹rr—ršr«r1r$r"rPrP™s„Ø€V‡^^˜DÔ!ñ4ó"ð4ò"ò0ò4ò$-ò*1-ðf ‡[[×ÑØ’Išyª)²Y    Ê9ÐUóñ 0óð 0ð ‡[[×јY¨#¨s¨°c¸3°ZÐ(@ÓAñ0óBð0ò0ò    0òSò     ò0ò    0ð ‡[[×ј[¨4°¨)Ó4ñ 0ó5ð 0ò=òAò0ò
0ò2ò&/0òd0ò4Eð: ‡[[×ÑØðÙâ)Ú1Ú)Ø! 3¨¯©°Ð4ñ    óð
ð  i°cÀÑDÙá#¢L¸    ÔBÙ#Ò$8À    ÔJÙ#Ò$@ÈÔNÙ# S¨#¨r¯v©v°sÐ$;À5ÔIñ    óð
ð    
óñ60ó7ð60ò.0ò`*ò Mð: ‡[[×ÑÐ0°B¸°7¸eÀWÐ=MÈqÐ<QÐ2RÓSñ0óTð0ò 0ð& ‡[[×ÑØà ™ H¨z¨lÐ#;Ó<Ð =Ø ™¨L¨>Ô:Ð ;ð    
óñ0óð0ò 1ò 5ò:ò3ò0ò
Xð ‡[[×ÑРOÓPñ0óQð0ò6-ò"4ò1ð
 ‡[[×ÑØØ    
ˆQˆFQ˜F˜H x°Ð&:¸XÀxÐ<PÐQóñEó    ðEò $ò/ð6 ‡[[×ÑØ ‡[[×Ññ6óóð6ð×ÑØ ‡[[×Ññ    6óóð    6ð ‡[[×Ññ6óð6ð  ‡[[×Ññ 6óð 6ò0ð€R‡]]9Óñ
0óð
0òò"0òHR0ðh ‡[[×ÑØà ,¨r¯v©v°s¸CÀÐ.EÐ FØ (¨2¯6©6¨(°Q©,Ð 7ð    
óñ0óð0òB    0òG0òR>ò40òl0ò,0ò0ò9ð  ‡[[×ÑØ7à ˜{¨Q°¨F°A°tÐ <Ø ˜z¨4°!°Q°¸Ð >Ø ˜v¨¨1 v°°1¨v°tÐ <Ø Ð/°!°Q°¸¸DÐ AØ ˜_¨d°D¸1¸a¸&Ð AØ ˜_¨d°DÑ:OÐ Pð     
ó
ñ0ó
ð0ò2;ò 0ò0ò    0ò&ò Hò Aó 0r$rPc
óˆ—eZdZd„Zej
d¬«d„«Zd„Zd„Zejjdgd¢«d    „«Z d
„Z d „Z ejjd d dd gd dgdddgddgg«d„«Zd„Zd„Zd„Zd„Zd„Zd„Zejjdddg«d„«Zd„Zd„Zd„Zd„Zy )!ÚTestExcelFileReadcóü—d}tjt|d¬«5td|zd«5}t    j
|j «|¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)NzPassing bytes to 'read_excel' is deprecated and will be removed in a future version. To read from a byte string, wrap it in a `BytesIO` object.F)rzÚraise_on_extra_warningsrkrlrT)r”Úassert_produces_warningÚ FutureWarningrorWrVr½)r[r r!r‚rqs     r"Útest_deprecate_bytes_inputz,TestExcelFileRead.test_deprecate_bytes_input¯sy€ð :ð     ô × 'Ñ 'Ü  ¸eô
ñ    7ôg Ñ(¨$Ó/ð 7°1Ü— ‘ ˜aŸf™f›h¨vÕ6÷ 7÷    7ð    7÷ 7ð 7ú÷    7ð    7ús"ŸA2¯&A&ÁA2Á&A/    Á+A2Á2A;TrQcóš—ttj|¬«}|j|ddd««|j    td|«y)zH
        Change directory and set engine for ExcelFile objects.
        rTr5r6rUrnN)rrWrnrXrYrZs     r"r^z#TestExcelFileRead.cd_and_set_engine½s=€ô
”r—|‘|¨FÔ3ˆØ×Ñ™( 4¨°Ó9Ô:Ø×ÑœB  ¨TÕ2r$có®—ddddddœ}tjd|z«5}|j}ddd«||}n||dd}|k(sJ‚y#1swYŒxYw)Nrrrrrerkrm)rWrnr )r[r!r rprUrrrEs       r"rsz"TestExcelFileRead.test_engine_usedÆsw€àØØØØñ 
Ðô\‰\˜' HÑ,Ó -ð    "°Ø—\‘\ˆF÷    "ð Р؉Hà(¨°!°"¨Ñ6ˆHؘÒ!Ð!Ñ!÷    "ð    "ús ¡ A Á Acó—tjd|z«5}tj|dddg¬«}ddd«tdgdgdgtj
gdggd    g¬
«}t j|«tjd|z«5}tj|dd dg¬«}ddd«ttj
gdgtj
gtj
gdggd    g¬
«}t j||«tjd |z«5}tj|dddg¬«}ddd«td gdgdgtj
gdggd    g¬
«}t j||«tjd |z«5}tj|dd dg¬«}ddd«ttj
gdgtj
gtj
gdggd    g¬
«}t j||«y#1swYŒäxYw#1swYŒzxYw#1swYŒóxYw#1swYŒˆxYw)NÚtest4r{FÚapple©r|Úkeep_default_naÚ    na_valuesrRrmÚrabbitrÚrÌTÚtest5ú1.#QNANrâ)rWrnrVr rárâr”r•)r[r!rUrÝrEs     r"Útest_excel_passes_naz&TestExcelFileRead.test_excel_passes_naØs€Ü \‰\˜' HÑ,Ó -ð    °Ü—]‘]Ø (¸EÈgÈYôˆF÷    ô؈VaS˜4˜&¤2§6¡6 (¨X¨JÐ 7À&Àô
ˆô     ×јf hÔ/ä \‰\˜' HÑ,Ó -ð    °Ü—]‘]Ø (¸DÈWÈIôˆF÷    ô܏f‰fˆX˜sœRŸV™V˜H¤r§v¡v h°°
Ð ;ÀfÀXô
ˆô     ×јf hÔ/ô\‰\˜' HÑ,Ó -ð    °Ü—]‘]Ø (¸EÈgÈYôˆF÷    ô؈[˜1˜# ˜w¬¯©¨°8°*Ð =ÈÀxô
ˆô     ×јf hÔ/ä \‰\˜' HÑ,Ó -ð    °Ü—]‘]Ø (¸DÈWÈIôˆF÷    ô܏f‰fˆX˜sœRŸV™V˜H¤r§v¡v h°°
Ð ;ÀfÀXô
ˆô     ×јf hÕ/÷G    ñ    ú÷    ñ    ú÷    ð    ú÷    ð    ús/™HÂH#Ä#H0ÆH<ÈH È#H-È0H9È<IÚ    na_filter)NTFcó|—i}|||d<tjd|z«5}tj|fdddgdœ|¤Ž}ddd«|dur dgd    gd
gdgd gg}n6tjgd    gtjgtjgd gg}t |d g¬ «}t j|«y#1swYŒuxYw)NrËrÈr{TrÃrÄFrÉrmrârÇrÚrÌ)rWrnrVrárâr r”r•)r[r!rËrbrUrÝrEs       r"Útest_excel_passes_na_filterz-TestExcelFileRead.test_excel_passes_na_filterþsԀðˆà Ð  Ø"+ˆF;Ñ ä \‰\˜' HÑ,Ó -ð    °Ü—]‘]Øðà#Ø $Ø"˜)ñ    ð
ñ ˆF÷    ð ˜Ñ Ø"˜  a S¨5¨'°G°9¸x¸jÐI‰H䟙˜ 1 #¬¯© x´"·&±&°¸H¸:ÐFˆHä˜X°¨xÔ8ˆÜ
×јf hÕ/÷    ð    ús ¢B2Â2B;cóî—t||«|}t|||«tjd|z«5}tj|dd¬«}tj|ddgd¬«}ddd«t j |«t j |«tjd|z«5}|jdd¬«}|jddgd¬«}ddd«t j ||«t j ||«tjd|z«5}tj|ddd¬«}    ddd«t j     |jdd    «tjd|z«5}|jddd¬
«}    ddd«t j |    |jdd    «y#1swYŒaxYw#1swYŒøxYw#1swYŒžxYw#1swYŒRxYw) Nrkrr¨rmrå)r9)rŠr9rærè)r9rç)    rNrGrWrnrVr”r•rdré)
r[r-r r!r=rErUr–r—rœs
          r"Útest_excel_table_sheet_by_indexz1TestExcelFileRead.test_excel_table_sheet_by_indexs·€Ü# F¨GÔ4àˆÜ˜ (¨FÔ3ä \‰\˜' HÑ,Ó -ð    P°Ü—-‘- °!¸qÔAˆCÜ—-‘- °!¸q¸cÈQÔOˆC÷    Pô     ×јc 8Ô,Ü
×јc 8Ô,ä \‰\˜' HÑ,Ó -ð    <°Ø—+‘+˜a¨1+Ó-ˆCØ—+‘+˜a¨1¨#¸+Ó;ˆC÷    <ô     ×јc 8Ô,Ü
×јc 8Ô,ä \‰\˜' HÑ,Ó -ð    P°Ü—-‘- °!¸qÈQÔOˆC÷    Pä
×јc 3§8¡8¨C¨R =Ô1ä \‰\˜' HÑ,Ó -ð    <°Ø—+‘+˜a¨1¸+Ó;ˆC÷    <ô     ×јc 3§8¡8¨C¨R =Õ1÷'    Pñ    Pú÷     <ð    <ú÷     Pð    Pú÷    <ð    <ús/´3GÂ3)GÄ(GÆG+ÇGÇGÇG(Ç+G4cóš—t||«|}t|||«d}d}tj||z«5}|j    |d¬«}    ddd«tj||z«5}|j    d|¬«}
ddd«t j     |«t j 
|«y#1swYŒjxYw#1swYŒBxYwr )rNrGrWrnrdr”r•) r[r-r r!r=rEr¡r|rUÚ    df1_parseÚ    df2_parses            r"r¢z!TestExcelFileRead.test_sheet_name2sǀÜ# F¨GÔ4àˆÜ˜ (¨FÔ3àˆØˆ
ä \‰\˜( XÑ-Ó .ð    H°%ØŸ ™ ¨zÀQ˜ ÓGˆI÷    Hô\‰\˜( XÑ-Ó .ð    H°%ØŸ ™ ¨a¸J˜ ÓGˆI÷    Hô     ×јi¨Ô2Ü
×јi¨Õ2÷    Hð    Hú÷    Hð    Hús¸B5Á,CÂ5B>ÃC
r|r…rrÃr{cóæ—d}tjt|¬«5tjd|z«5}|j |¬«ddd«ddd«y#1swYŒxYw#1swYyxYwrª)r&r€rŒrWrnrd)r[r!r|r‚rUs     r"r«z+TestExcelFileRead.test_bad_sheetname_raisesDsh€ð PˆÜ ]‰]œ:¨SÔ 1ñ    3Ü—‘˜g¨Ñ0Ó1ð 3°UØ— ‘  z Ô2÷ 3÷    3ð    3÷ 3ð 3ú÷    3ð    3ús"žA'·AÁ
A'ÁA$    Á A'Á'A0có2—d|z}tj|dd|¬«}t|d«5}tj|«5}tj|dd¬«}ddd«ddd«t    j
|«y#1swYŒ(xYw#1swYŒ,xYw)Nrkr{r©r|r9r rlr¨)rWrVrornr”r•)r[r r!r¤rErqrir s        r"r¥z(TestExcelFileRead.test_excel_read_bufferOsŽ€Ø˜Ñ ˆÜ—=‘= °ÀQÈvÔVˆä #t‹_ð    N Ü—‘˜a“ð N CÜŸ™ s°xÈ1ÔM÷ N÷    Nô     ×јh¨Õ/÷ Nð Nú÷    Nð    Nús#«B ÁBÁB ÂB
    ÂB  Bcóî—td|zd«5}tj|«5}tj|dd|¬«ddd«ddd«jsJ‚y#1swYŒ xYw#1swYŒ$xYw)Nrkrlr{rrÕ)rorWrnrVÚclosed)r[r r!rqrfs     r"Útest_reader_closes_filez)TestExcelFileRead.test_reader_closes_fileYsq€Ü '˜HÑ$ dÓ +ð    U¨qÜ—‘˜a“ð U Dä— ‘ ˜d¨xÀ1ÈVÕT÷ U÷    Uð
xŠxˆ‰x÷     Uð Uú÷    Uð    Uús"A+¦AÁA+ÁA(    Á$A+Á+A4cóð—d}tjd|z«5}tjt|¬«5tj
|d¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)Nz8Engine should not be specified when passing an ExcelFilerkryrurT)rWrnr&r€rŒrV)r[r!r‚Úxls    r"Útest_conflicting_excel_enginesz0TestExcelFileRead.test_conflicting_excel_enginesase€àHˆä \‰\˜' HÑ,Ó -ð    0°Ü—‘œz°Ô5ñ 0Ü— ‘ ˜b¨Õ/÷ 0÷    0ð    0÷ 0ð 0ú÷    0ð    0ús"›A,·A ÁA,Á A)    Á%A,Á,A5có —tjd|z|¬«}td|zd«5}|j«}ddd«tjt    «|¬«}t j ||«y#1swYŒ@xYw)NrkrTrl)rWrVror½rr”r•)r[r r!rErqr6r s       r"Útest_excel_read_binaryz(TestExcelFileRead.test_excel_read_binaryisn€ä—=‘= ¨8Ñ!3¸FÔCˆä '˜HÑ$ dÓ +ð    ¨qØ—6‘6“8ˆD÷    ô—‘œw t›}°VÔ<ˆÜ
×јh¨Õ/÷        ð    ús ªA:Á:Bcóڗtd|zd«5}tj||¬«}ddd«tjd|z|¬«}tj|«y#1swYŒ:xYw)NrkrlrT)rorWrVr”r•)r[r!r rqrrrEs      r"Ú%test_excel_read_binary_via_read_excelz7TestExcelFileRead.test_excel_read_binary_via_read_excelss]€ä '˜HÑ$ dÓ +ð    5¨qÜ—]‘] 1¨VÔ4ˆF÷    5ä—=‘= ¨8Ñ!3¸FÔCˆÜ
×јf hÕ/÷    5ð    5ús A!Á!A*cóؗtdd«5}tjtd¬«5t    j
|ddg¬«ddd«ddd«y#1swYŒxYw#1swYyxYw)Nzdf_header_oob.xlsxrlzexceeds maximumryrrmra)ror&r€rŒrWrV)r[r rqs   r"Ú)test_read_excel_header_index_out_of_rangez;TestExcelFileRead.test_read_excel_header_index_out_of_rangezs_€ä Ð&¨Ó -ð    0°Ü—‘œzÐ1BÔCñ 0Ü— ‘ ˜a¨¨A¨Õ/÷ 0÷    0ð    0÷ 0ð 0ú÷    0ð    0ús"A ©AÁA ÁA    ÁA Á A)r¡z df_empty.xlsxzdf_equals.xlsxcóܗtdgd¬«}tjddgddg¬«}td    d
gg||d ¬ «}t    j
|d ddd    g¬«}t j||«y)NÚZÚI2r·r')r›zB.1ÚI11ÚI12r rmr…r5)rBr¹rúr{rr )r rrr rWrVr”r•)r[r¡rƒÚcolsrErrs      r"Útest_header_with_index_colz,TestExcelFileRead.test_header_with_index_col€sq€ôSE Ô%ˆÜ×%Ñ% z°<Ð&@ÈÐPUÈÔWˆÜ˜q !˜f˜X¨S¸$ÀgÔNˆÜ—‘Ø  °QÀÀ1¸vô
ˆô     ×јh¨Õ/r$cóЗt||«d|z}tj|«5}tj|ddgd|¬«}ddd«t    ||«}tj
ddgd|›d¬    «}t j|dd|ddg|dj«|dj«g¬
«}    tgg|    ¬ «}
tj|
«y#1swYŒšxYw) NÚtest_datetime_mirrm)r•r9r z
2020-02-29z
2020-03-01r÷rørùr rY) rNrWrnrVr@Ú DatetimeIndexrr!Ú to_pydatetimer r”r•) r[r-r r!rqrUr rFÚdtiÚexpected_column_indexrEs            r"Útest_read_datetime_multiindexz/TestExcelFileRead.test_read_datetime_multiindex‹sì€ä# F¨GÔ4à  Ñ )ˆÜ \‰\˜!‹_ð    U Ü—]‘] 5°!°Q°À1ÈVÔTˆF÷    Uô˜H fÓ-ˆÜ×Ñ  ¨lÐ;ÀSÈÈÈaÀ=ÔQˆÜ *× 6Ñ 6Ø !ˆWc˜!˜"gÐ àA‘×$Ñ$Ó&ؐA‘×$Ñ$Ó&ðô!
Ðô˜R rÐ3HÔIˆä
×јh¨Õ/÷    Uð    Uús §CÃC%cóėtjtd¬«5tjd|›dd«5    ddd«ddd«y#1swYŒxYw#1swYyxYw)NzValue must be one of *ryzio.excelz.readerÚabc)r&r€rŒrWrfr˜s  r"Útest_engine_invalid_optionz,TestExcelFileRead.test_engine_invalid_option s\€ä ]‰]œ:Ð-EÔ Fñ    Ü×"Ñ" X¨h¨Z°wÐ#?ÀÓGñ Ø÷ ÷    ð    ÷ ð ú÷    ð    ús!œA·A
¹AÁ
A    ÁAÁAcó —|dk(rtjd«|dk(r/|jtjj    d¬««t j d|z«5}|jdgk(sJ‚    ddd«y#1swYyxYw)Nrr‘rr’rIr“r{)r&rQrKrLrMrWrnÚ sheet_names)r[r-r r!rUs     r"Útest_ignore_chartsheetsz)TestExcelFileRead.test_ignore_chartsheets¦s‡€à vÒ Ü K‰KÐDÔ EØ XÒ Ø × Ñ Ü— ‘ ×!Ñ!ØQð"óô ô
\‰\˜,¨Ñ1Ó 2ð    3°eØ×$Ñ$¨¨
Ò2Ð 2Ñ2÷    3÷    3ñ    3ús Á'BÂB cóÜ—tf}|€tjd|›«n4|dk(r!ddl}t|jj
f}n|dk(r    ddlm}|f}tjd|›«5}t|«jdd¬«tjd    «5    tj||¬
«ddd«ddd«y#|$rYŒwxYw#1swYŒxYw#1swYyxYw) NzInvalid test for engine=rrrrµÚcorruptzutf-8)ÚencodingFrT)r
r&rQrÚbiffhr´rr¶r”rTrÚ
write_textr¼rWrn)r[r r!Úerrorsrr¶Úfiles       r"Útest_corrupt_files_closedz+TestExcelFileRead.test_corrupt_files_closed³sä€äˆØ ˆ>Ü K‰KÐ2°6°(Ð;Õ <Ø vÒ Û ä  $§*¡*×"6Ñ"6Ð7‰FØ zÒ !Ý 5à#Ð%ˆFä _‰_˜w x jÐ1Ó 2ð    °dÜ ‹J× !Ñ ! )°gÐ !Ô >Ü×+Ñ+¨EÓ2ñ ðÜ—L‘L ¨fÕ5÷ ÷    ð    øð
òÙðú÷ ð ú÷    ð    úsBÁ/2C"Â!CÂ#C Â:C"à CÃCÃCÃCÃC    ÃC"Ã"C+N)r¬r­r®r¾r&r¯r^rsrÊrLr°rÍrÏr¢r«r¥rØrÛrÝrßrárèrïròrõrýr1r$r"r¹r¹®s„ò 7ð€V‡^^˜DÔ!ñ3ó"ð3ò"ò$$0ðL ‡[[×ј[Ò*=Ó>ñ0ó?ð0ò02ò63ð$ ‡[[×ÑØØ    
ˆQˆFQ˜F˜H x°Ð&:¸XÀxÐ<PÐQóñ3ó    ð3ò0òò0ò0ò0ò0ð  ‡[[×јZ¨/Ð;KÐ)LÓMñ0óNð0ò0ò*ò 3ór$r¹)r!r    ÚreturnÚbool)r!r    r z
str | Nonerþr    )rEr r!r    r r    rþÚNone)8Ú
__future__rrrÚ    functoolsrr5rrÕÚpathlibrr×r~Ú urllib.errorr    Úzipfiler
Únumpyrár&Ú pandas.compatr Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsr´ÚpandasrWr r rrrÚpandas._testingÚ_testingr”rLr³Ú
pytestmarkÚread_ext_paramsr'r·Ú engine_paramsr#r)r¯r    r.r r!r=r@rGrNrPr¹)ÚengÚexts00r"ú<module>rsðÝ"÷õÝÛ    ÝÛÛ    Ý!ÝãÛ å-ß)Ð)ã÷õõáÔØ—‘×'Ñ'€Jâ=€ð
€F‡LLØà ˆBM‰M˜&Ó !ð
ôð €F‡LLØà ˆBM‰M˜*Ó %ð
ôð €F‡LLØ à ˆBM‰M˜&Ó !ð
ôð €F‡LL  §¡¨xÓ!8Ô9Ø€F‡LL˜m˜bŸm™m¨EÓ2Ô3Ø€F‡LL = 2§=¡=Ð1BÓ#CÔDð1€ ó8ò*ð€‡ð!÷ à Ø"ò ð Ù $ S¨#Ô .ñ    ˜˜SÕ!ð Ø!ó ð      ôñóðð‡ñóðð
‡ñóðð
‡ñóðóó2ò
÷R0ñR0÷j(YòYùó]* sÅ8 G>