zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
U
­ý°d,ã    @s2ddlZddlZddlZddlmZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl m Z ddlZddlmZddlmmZdd„ej ¡DƒZe j dejddd    d
gd d d ggdddgdejddd    d
gddg¡e j ddddg¡dd„ƒƒZe j dejddd    d
gd d d ggdddgdejddd    d
gddg¡e j dddg¡dd„ƒƒZe j ddddiejfdiej fdiej!fg¡dd„ƒZ"e j d ddd!d"œejd#d!ifdiej d$d%ifdiej!ifg¡d&d'„ƒZ#d(d)„Z$d*d+„Z%d,d-„Z&d.d/„Z'd0d1„Z(d2d3„Z)e j dejddd    d
gd d d ggdddgdejddd    d
gddg¡e j ddddg¡d4d5„ƒƒZ*e j dejddd    d
gd d d ggdddgdejddd    d
gddg¡e j ddddg¡d6d7„ƒƒZ+e j d8d9e
j,fd:ej-fg¡d;d<„ƒZ.d=d>„Z/d?d@„Z0dAdB„Z1dCdD„Z2dS)EéN)ÚPath)Úis_platform_windowscCsi|]\}}||“qS©r)Ú.0ÚkeyÚvaluerrúWd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/test_compression.pyÚ
<dictcomp>sr    Úobjédç¿¶~úϚ¿?ç9DܜJÎ?ç>éD‚)â?çÜ.4×i¤(@ç33333þ@çÍÌÌ̤œAÚXÚYÚZ©Úcolumns©ÚnameÚmethodZ    to_pickleÚto_jsonÚto_csvc    Csr|dkrdddœ}t ¡N}t||ƒ||dtj |¡}t||ƒ|ddtj |¡}||ksdt‚W5QRXdS)NÚtarúw:gz©rÚmode©Ú compression©ÚtmÚ ensure_cleanÚgetattrÚosÚpathÚgetsizeÚAssertionError)r
rÚcompression_onlyr'Úcompressed_sizeÚuncompressed_sizerrrÚtest_compression_sizes 
 
  r-c
CsÌt ¡V}tj||dkrdnd|d"}t||ƒ|jƒ|jjrDt‚W5QRXtj     
|¡}W5QRXt ¡V}tj|ddd"}t||ƒ|jƒ|jjrœt‚W5QRXtj     
|¡}||ks¾t‚W5QRXdS)NrrÚwr ) r#r$ÚicomÚ
get_handler%ÚhandleÚclosedr)r&r'r()r
rr*r'Úhandlesr+r,rrrÚtest_compression_size_fh1s 
ý
 r4z'write_method, write_kwargs, read_methodÚindexFc    Csttjdddgdddggddd    gd
}t|}t d |¡$}t||ƒ|f|Ž|||d }W5QRXt ||¡dS) Ngð?réüÿÿÿg333333 @éérrrrÚ
compressedr )ÚpdÚ    DataFrameÚ_compression_to_extensionr#r$r%Úassert_frame_equal)Ú write_methodÚ write_kwargsÚ read_methodr*ÚinputÚ    extensionr'ÚoutputrrrÚ,test_dataframe_compression_defaults_to_inferNs $rDz1write_method,write_kwargs,read_method,read_kwargsT)r5ÚheaderÚsqueezeÚtypZseriesc
    Cs¤tjddddgdd}t|}t d|¡^}t||ƒ|f|Žd|krr| ¡}|d=||fd    |i|—Ž d
¡}    n||fd    |i|—Ž}    W5QRXtj|    |d d dS) Nrr7éþÿÿÿé
rrr9rFr!rF)Z check_names)    r:ÚSeriesr<r#r$r%ÚcopyrFZassert_series_equal)
r>r?r@Z read_kwargsr*rArBr'ÚkwargsrCrrrÚ)test_series_compression_defaults_to_inferbs ÿrMc Cs‚tjddddgdddggdd    d
gd }t ¡H}tj|d |d ,}t t¡|j|j    |d W5QRXW5QRXW5QRXdS)Nr r r rrrrrrrrr.r )
r:r;r#r$r/r0Zassert_produces_warningÚRuntimeWarningrr1)r*Údfr'r3rrrÚtest_compression_warning}sþ
 rPc
Cs¤t ¡}t ¡P}t|dd }|j|d|d| d¡W5QRXt |tj|d|d¡W5QRXt     
¡}|j|d|d| d¡t |tj|d|d¡dS)z?
    Binary file handles support compression.
 
    GH22555
    Úwb)r)rr!r)Z    index_colr!N) r#Ú makeDataFramer$ÚopenrÚseekr=r:Úread_csvÚioÚBytesIO)r*rOr'ÚfilerrrÚtest_compression_binaryŠs 
ÿ
ÿrYc    Cspt ¡}dddœ}t ¡L}t|ƒ}|j||dt d¡| ¡}|j||d|| ¡ksbt‚W5QRXdS)zš
    Gzip should create reproducible archives with mtime.
 
    Note: Archives created with different filenames will still be different!
 
    GH 28103
    Úgzipé©rÚmtimer r8N)    r#rRr$rrÚtimeÚsleepÚ
read_bytesr))rOÚcompression_optionsr'rCrrrÚ#test_gzip_reproducibility_file_name¤s
 
 
rbcCsht ¡}dddœ}t ¡}|j||dd| ¡}t d¡t ¡}|j||dd|| ¡ksdt‚dS)zL
    Gzip should create reproducible archives with mtime.
 
    GH 28103
    rZr[r\rQ)r!rr8N)    r#rRrVrWrÚgetvaluer^r_r))rOraÚbufferrCrrrÚ%test_gzip_reproducibility_file_object¹s
 
recCs&t d¡}tjtjd|gtjddS)z6Tests if import pandas works when lzma is not present.zT        import sys
        sys.modules['lzma'] = None
        import pandas
        ú-c©ÚstderrN©ÚtextwrapÚdedentÚ
subprocessÚ check_outputÚsysÚ
executableÚPIPE©ÚcoderrrÚtest_with_missing_lzmaÌsÿrscCs&t d¡}tjtjd|gtjddS)z\Tests if RuntimeError is hit when calling lzma without
    having the module available.
    zÿ
        import sys
        import pytest
        sys.modules['lzma'] = None
        import pandas as pd
        df = pd.DataFrame()
        with pytest.raises(RuntimeError, match='lzma module'):
            df.to_csv('foo.csv', compression='xz')
        rfrgNrirqrrrÚtest_with_missing_lzma_runtimeÙsÿ rtc    Csft ¡T}t||ƒ|ddtj |¡}t||ƒ|dddœdtj |¡}||ksXt‚W5QRXdS)NrZr r[©rÚ compresslevelr")r
rr'Zcompressed_size_defaultZcompressed_size_fastrrrÚtest_gzip_compression_levelës
  rwc    Cs0t ¡}t||ƒ|dddœdW5QRXdS)z´GH33196 bzip needs file size > 100k to show a size difference between
    compression levels, so here we just check if the call works when
    compression is passed as a dict.
    Úbz2r[rur N)r#r$r%)r
rr'rrrÚtest_bzip_compression_levels
ryzsuffix,archiveú.zipz.tarc
CsVtj|d@}||dƒW5QRXtjtddt |¡W5QRXW5QRXdS)N©Úfilenamer.zZero files found©Úmatch)r#r$ÚpytestÚraisesÚ
ValueErrorr:rU)ÚsuffixÚarchiver'rrrÚtest_empty_archive_zips
 
r„c
CsptjddZ}t |d¡}| dd¡| dd¡W5QRXtjtddt     |¡W5QRXW5QRXdS)    Nrzr{r.úa.csvzfoo,barúb.csvz Multiple files found in ZIP filer})
r#r$ÚzipfileÚZipFileÚwritestrrr€rr:rU)r'rXrrrÚtest_ambiguous_archive_zip#s  rŠc    Cs°|d}t|dƒ}| d¡W5QRX|d}t|dƒ}| d¡W5QRX|d}t |d¡}| |d¡| |d¡W5QRXtjtddt     |¡W5QRXdS)Nr…r.zfoo,bar
r†z archive.tarz#Multiple files found in TAR archiver})
rSÚwriteÚtarfileÚTarFileÚaddrr€rr:rU)Ztmp_pathZcsvAPathÚaZcsvBPathÚbZtarpathrrrrÚtest_ambiguous_archive_tar,s   r‘c CsÀtjddª}tjddggddgdj|dd    d
œd d t |¡j}tj|d R}|     ¡}t
|ƒdksjt ‚|  |d¡  ¡ d¡}tƒrŽd}nd}||ksžt ‚W5QRXW5QRXW5QRXdS)Nz.foor{Ú1Ú2ZfooÚbarrrrrF)r!r5)Úfileobjr[rÚutf8zfoo,bar
1,2
z foo,bar
1,2
)r#r$r:r;rrZrSrŒrÚ
getmembersÚlenr)Ú extractfileÚreadÚdecoder)rXZ uncompressedrƒÚmembersÚcontentÚexpectedrrrÚ!test_tar_gz_to_different_filename=s$þý rŸc
Cs2t ¡ }tj|ddW5QRXW5QRXdS)Nr.)r•r)rVrWr/Z _BytesTarFile)rdrrrÚtest_tar_no_error_on_closeQs
r )3rZrVr&ÚpathlibrrlrnrŒrjr^r‡rZ pandas.compatrZpandasr:Zpandas._testingZ_testingr#Zpandas.io.commonÚcommonr/Zextension_to_compressionÚitemsr<ÚmarkZ parametrizer;rJr-r4rUÚ    read_jsonZ read_picklerDrMrPrYrbrersrtrwryrˆrr„rŠr‘rŸr rrrrÚ<module>s¼   ÿþûþ
 þûþ
 
 
ýþ
 ýþ
  þûþ
 
þûþ
     þþ