zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
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
U
­ý°dŸã@s¼ddlmZddlZddlZddlZddlmZ    e 
d¡Z ej   d¡ej  ddd„eg¡dd    „ƒƒZej   d¡d
d „ƒZej   d¡d d „ƒZej   d¡dd„ƒZdd„Zdd„Zdd„ZdS)é)ÚPathNÚ
pyreadstatz,ignore::pandas.errors.ChainedAssignmentErrorÚ
path_klasscCs|S)N©)ÚprrúPd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/test_spss.pyÚ<lambda>órcCs„||ddddƒƒ}tj|dd}tjddid    gd
}t |d¡|d<t ||¡tj|d d}tjdd id    gd
}t ||¡dS) NÚioÚdataÚspssúlabelled-num.savT©Úconvert_categoricalsÚVAR00002ú This is oner)ÚindexFçð?©ÚpdÚ    read_spssÚ    DataFrameÚ CategoricalÚtmÚassert_frame_equal)rÚdatapathÚfnameÚdfÚexpectedrrrÚtest_spss_labelled_nums rcCs~|ddddƒ}tj|dd}t dddgi¡}t |d¡|d<t ||¡tj|d    d}t dd
tjgi¡}t ||¡dS) Nr
r r zlabelled-num-na.savTrrrFr)rrrrrrÚnpÚnan©rrrrrrrÚtest_spss_labelled_num_nas r#cCs||ddddƒ}tj|dd}t ddd    gi¡}t |d¡|d<t ||¡tj|d
d}t dd d gi¡}t ||¡dS) Nr
r r zlabelled-str.savTrZgenderZMaleZFemaleFÚMÚFrr"rrrÚtest_spss_labelled_str-s r&cCs„|ddddƒ}tj|dd}t ddd    dd
gi¡}t |d¡|d<t ||¡tj|d d}t dd d d dgi¡}t ||¡dS)Nr
r r ú umlauts.savTrÚvar1u the Ã¤ umlautu the Ã¼ umlautu the Ã¶ umlautFrç@ç@rr"rrrÚtest_spss_umlauts<sÿ r+c    Cs:|ddddƒ}tjtddtj|ddW5QRXdS)    Nr
r r r zusecols must be list-like.©Úmatchr)Zusecols)ÚpytestÚraisesÚ    TypeErrorrr)rrrrrÚtest_spss_usecolsMsr1cs„|ddddƒ}tj|d|d}tjddd    dd
gid d ‰|d krtt d ¡‰ddlm‰t ‡‡‡fdd„ˆjDƒ¡‰t     |ˆ¡dS)Nr
r r r'F)rÚ dtype_backendr(rr)r*ZInt64)ZdtypeZpyarrowr)ÚArrowExtensionArraycs$i|]}|ˆˆjˆ|ddƒ“qS)T)Z from_pandas)Úarray)Ú.0Úcol©r3rÚparrÚ
<dictcomp>bsÿz3test_spss_umlauts_dtype_backend.<locals>.<dictcomp>)
rrrr.Ú importorskipZ pandas.arraysr3Úcolumnsrr)rr2rrrr7rÚtest_spss_umlauts_dtype_backendUs
 þÿr<c    Cs0d}tjt|dtjdddW5QRXdS)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r,ÚtestÚnumpy)r2)r.r/Ú
ValueErrorrr)ÚmsgrrrÚtest_invalid_dtype_backendksÿrA)Úpathlibrr>r r.ZpandasrZpandas._testingZ_testingrr:rÚmarkÚfilterwarningsZ parametrizerr#r&r+r1r<rArrrrÚ<module>s"