zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
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
U
­ý°dïã@sjdZddlZddlmZddlZddlZddlZddlmZddl    m
Z ddl m Z ej d¡Zejddgd    d
d „ƒZejd d „ƒZeej ddddg¡dd„ƒƒZeej dddg¡dd„ƒƒZedd„ƒZedd„ƒZeej dddg¡dd„ƒƒZeej dddd g¡d!d"„ƒƒZed#d$„ƒZeej d%d&d'd(g¡d)d*„ƒƒZed+d,„ƒZd-d.„Zed/d0„ƒZdS)1zZ
Tests compressed data parsing functionality for all
of the parsers defined in parsers.py
éN)ÚPath)Ú    DataFrame)Ú_compression_to_extensionZ pyarrow_skipTF)ÚparamscCs|jS)N)Úparam)Úrequest©rú^d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/parser/test_compression.pyÚbuffersr
c    Cs6|}t|dƒ}| ¡}W5QRX| |¡}|||fS)NÚrb)ÚopenÚreadÚread_csv)Ú all_parsersÚcsv1ÚparserÚfÚdataÚexpectedrrr    Úparser_and_datas
 
rÚ compressionÚzipÚinferÚzip2c    
Cs’|\}}}t d¡t}tj|dd}| d|¡W5QRX|dkrjt|dƒ}|j|dd}W5QRXn|j||d}t ||¡W5QRXdS)    Nú test_file.zipÚw©ÚmodeÚ    test_filerr r©r)ÚtmÚ ensure_cleanÚzipfileÚZipFileÚwritestrr rÚassert_frame_equal)    rrrrrÚpathÚtmprÚresultrrr    Útest_zip$s
  r)c    
Cs„|\}}}t d¡f}ddg}tj|dd}|D]}| ||¡q2W5QRXtjtdd|j||dW5QRXW5QRXdS)    Nzcombined_zip.ziprZ second_filerrzMultiple files©Úmatchr)    r r!r"r#r$ÚpytestÚraisesÚ
ValueErrorr)    rrrrrr&Zinner_file_namesr'Ú    file_namerrr    Útest_zip_error_multiple_files6s
 r0c
Csd|\}}}t ¡H}tj|ddW5QRXtjtdd|j|ddW5QRXW5QRXdS)Nrrz
Zero filesr*rr)r r!r"r#r,r-r.r)rrÚ_r&rrr    Útest_zip_error_no_filesFs 
 
 
r2c Csb|\}}}t ¡F}t|dƒ0}tjtjdd|j|ddW5QRXW5QRXW5QRXdS)Nr zFile is not a zip filer*rr)r r!r r,r-r"Ú
BadZipFiler)rrr1r&rrrr    Útest_zip_error_invalid_zipRs
 
 
 r4Úfilenamez
test.{ext}c
CsÆ|\}}}|}t|}    |dkr"|n
|j|    d}|rL|rL|j tjjdd¡tj|dd}
t     ||
|¡|rpdn|} |ržt
|
dƒ} |j | | d} W5QRXn|j |
| d} t  | |¡W5QRXdS)N)Úextz9Cannot deduce compression from buffer of compressed data.)Úreason)r5rr r) rÚformatÚnodeZ
add_markerr,ÚmarkZxfailr r!Zwrite_to_compressedr rr%)rrZcompression_onlyr
r5rrrÚ compress_typer6r&rrr(rrr    Útest_compression\s$
ÿÿ  r<r6ÚgzÚbz2c        Cs~|}dddœ}|j|f|Ž}d|d<|rLt|ƒ}|j|f|Ž}W5QRXn"|rXd|nd}|j||f|Ž}t ||¡dS)NrT)Z    index_colZ parse_datesrrÚ.Ú)rr r r%)    rrr
r6rÚkwargsrrr(rrr    Útest_infer_compressionys
 
rBc    Cs\|}| |¡}tj |d|›d¡}|j||ddd}tddgddgd    œƒ}t ||¡dS)
NÚutfz _ex_small.ziprú    )ÚencodingrÚsepÚ    VenezuelaõHugo Chávez FríasúHenrique Capriles R.©ZCountryZTwitter)r8Úosr&Újoinrrr r%)    rÚ csv_dir_pathZ    utf_valueZ encoding_fmtrrEr&r(rrrr    Útest_compression_utf_encodings
þÿrNÚinvalid_compressionZsfarkZbz3Zzipperc    Cs@|}d|i}d|›}tjt|d|jd|ŽW5QRXdS)NrzUnrecognized compression type: r*r)r)r,r-r.r)rrOrZcompress_kwargsÚmsgrrr    Útest_invalid_compressionŸs
 
rQcCs4|}tj |d¡}| |¡}t|jƒdgks0t‚dS)Nztar_csv.tar.gzÚa)rKr&rLrÚlistÚcolumnsÚAssertionError)rrMrr&Údfrrr    Útest_compression_tar_archive«s
rWc
Cs~|}tdddgiƒ}t d¡V}t d¡@}|j|ddt|ƒ t|ƒ ¡¡t |j|dd|¡W5QRXW5QRXdS)    NrRréztest.csvz test.csv.zipF©Úindexr)    rr r!Úto_csvrÚ
write_textÚ    read_textr%r)rrrVZpath_csvZpath_ziprrr    Ú!test_ignore_compression_extension³s  r^c
Cs”|}tddgddgdœƒ}t d¡f}|j|ddt | |¡|¡t |d¡.}|j| |     ¡d    ¡d
d }t ||¡W5QRXW5QRXdS) NrGrHrIrJz test.tar.gzFrYzr:gzrrr)
rr r!r[r%rÚtarfiler Ú extractfileÚgetnames)rrrZtar_pathÚtarr(rrr    Útest_writes_tar_gz¿sþÿ ÿrc) Ú__doc__rKÚpathlibrr_r"r,ZpandasrZpandas._testingZ_testingr Z pandas.tests.io.test_compressionrr:Z usefixturesZ skip_pyarrowZfixturer
rZ parametrizer)r0r2r4r<rBrNrQrWr^rcrrrr    Ú<module>sN