14
14
)
15
15
16
16
import numpy as np
17
+ from functools import partial
17
18
import pandas as pd
18
19
from pandas import (
19
20
DataFrame ,
@@ -304,23 +305,23 @@ def test_sas_bdat() -> None:
304
305
path = pathlib .Path (CWD , "data" , "airline.sas7bdat" )
305
306
check (assert_type (read_sas (path ), DataFrame ), DataFrame )
306
307
with check (
307
- assert_type (read_sas (path , iterator = True ), Union [SAS7BDATReader , XportReader ]),
308
- SAS7BDATReader ,
308
+ assert_type (read_sas (path , iterator = True ), Union [SAS7BDATReader , XportReader ]),
309
+ SAS7BDATReader ,
309
310
):
310
311
pass
311
312
with check (
312
- assert_type (read_sas (path , iterator = True , format = "sas7bdat" ), SAS7BDATReader ),
313
- SAS7BDATReader ,
313
+ assert_type (read_sas (path , iterator = True , format = "sas7bdat" ), SAS7BDATReader ),
314
+ SAS7BDATReader ,
314
315
):
315
316
pass
316
317
with check (
317
- assert_type (read_sas (path , chunksize = 1 ), Union [SAS7BDATReader , XportReader ]),
318
- SAS7BDATReader ,
318
+ assert_type (read_sas (path , chunksize = 1 ), Union [SAS7BDATReader , XportReader ]),
319
+ SAS7BDATReader ,
319
320
):
320
321
pass
321
322
with check (
322
- assert_type (read_sas (path , chunksize = 1 , format = "sas7bdat" ), SAS7BDATReader ),
323
- SAS7BDATReader ,
323
+ assert_type (read_sas (path , chunksize = 1 , format = "sas7bdat" ), SAS7BDATReader ),
324
+ SAS7BDATReader ,
324
325
):
325
326
pass
326
327
@@ -329,23 +330,23 @@ def test_sas_xport() -> None:
329
330
path = pathlib .Path (CWD , "data" , "SSHSV1_A.xpt" )
330
331
check (assert_type (read_sas (path ), DataFrame ), DataFrame )
331
332
with check (
332
- assert_type (read_sas (path , iterator = True ), Union [SAS7BDATReader , XportReader ]),
333
- XportReader ,
333
+ assert_type (read_sas (path , iterator = True ), Union [SAS7BDATReader , XportReader ]),
334
+ XportReader ,
334
335
):
335
336
pass
336
337
with check (
337
- assert_type (read_sas (path , iterator = True , format = "xport" ), XportReader ),
338
- XportReader ,
338
+ assert_type (read_sas (path , iterator = True , format = "xport" ), XportReader ),
339
+ XportReader ,
339
340
):
340
341
pass
341
342
with check (
342
- assert_type (read_sas (path , chunksize = 1 ), Union [SAS7BDATReader , XportReader ]),
343
- XportReader ,
343
+ assert_type (read_sas (path , chunksize = 1 ), Union [SAS7BDATReader , XportReader ]),
344
+ XportReader ,
344
345
):
345
346
pass
346
347
with check (
347
- assert_type (read_sas (path , chunksize = 1 , format = "xport" ), XportReader ),
348
- XportReader ,
348
+ assert_type (read_sas (path , chunksize = 1 , format = "xport" ), XportReader ),
349
+ XportReader ,
349
350
):
350
351
pass
351
352
@@ -1149,9 +1150,9 @@ def test_excel_reader():
1149
1150
check (assert_type (pd .read_excel (ef ), pd .DataFrame ), pd .DataFrame )
1150
1151
1151
1152
with pd .ExcelFile (
1152
- path_or_buffer = path ,
1153
- engine = "openpyxl" ,
1154
- engine_kwargs = {"data_only" : True },
1153
+ path_or_buffer = path ,
1154
+ engine = "openpyxl" ,
1155
+ engine_kwargs = {"data_only" : True },
1155
1156
) as ef :
1156
1157
check (assert_type (ef , pd .ExcelFile ), pd .ExcelFile )
1157
1158
check (assert_type (pd .read_excel (ef ), pd .DataFrame ), pd .DataFrame )
@@ -1795,10 +1796,12 @@ def test_read_json_engine() -> None:
1795
1796
1796
1797
1797
1798
def test_converters_partial () -> None :
1798
- from functools import partial
1799
- import pandas as pd
1800
- from typing_extensions import assert_type
1801
-
1799
+ df = pd .DataFrame ({"field_1" : ["2020-01-01" , "not a date" ]})
1802
1800
partial_func = partial (pd .to_datetime , errors = "coerce" )
1803
- df = pd .read_excel ("foo.xlsx" , converters = {"field_1" : partial_func })
1804
- assert_type (df , pd .DataFrame )
1801
+
1802
+ with ensure_clean (".xlsx" ) as path :
1803
+ check (assert_type (df .to_excel (path , index = False ), None ), type (None ))
1804
+
1805
+ result = pd .read_excel (path , converters = {"field_1" : partial_func })
1806
+ check (assert_type (result , pd .DataFrame ), pd .DataFrame )
1807
+
0 commit comments