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
Ë
oñúh¦ãóî—ddlmZddlZddlZddlZddlZddlZddlZddl    m
Z
ddl m Z m Z mZmZmZmZmZddlmZddlmZej2j5d«Zej8d„«Zej2j<ej2j?dgd    ¢«d
„««Z d e!d e!d e"fd„Z#ej2j?dddg«d„«Z$d„Z%ejLd«d„«Z'y)é)ÚBytesION)Úpa_version_under17p0)Ú    DataFrameÚIndexÚ
date_rangeÚread_csvÚ
read_excelÚ    read_jsonÚ read_parquet)Ú_test_decoratorsz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningcóև—tjd«tjd«}t«Šd„‰_Gˆfd„d|j«}|j d|d¬«‰S)    z"Emulate GCS using a binary buffer.ÚgcsfsÚfsspeccó—y)NT©róúKH:\Change_password\venv_build\Lib\site-packages\pandas/tests/io/test_gcs.pyú<lambda>zgcs_buffer.<locals>.<lambda>$srcó(•—eZdZeˆfd„«Zd„Zy)ú%gcs_buffer.<locals>.MockGCSFileSystemcó*•—‰jd«‰S)Nr)Úseek)ÚargsÚkwargsÚ
gcs_buffers  €rÚopenz*gcs_buffer.<locals>.MockGCSFileSystem.open'sø€à O‰O˜AÔ ØÐ rcó—|ddœgS)NÚfile)ÚnameÚtyper)ÚselfÚpathrs   rÚlsz(gcs_buffer.<locals>.MockGCSFileSystem.ls,s€à!¨6Ñ2Ð3Ð 3rN)Ú__name__Ú
__module__Ú __qualname__Ú staticmethodrr#)rs€rÚMockGCSFileSystemr&sø„Ø    ó    ó
ð    ó    4rr(ÚgsT)Úclobber)ÚpytestÚ importorskiprÚcloseÚAbstractFileSystemÚregister_implementation)rr(rs  @rrrsbø€ô ×Ñ˜Ô Ü ×  Ñ   Ó *€Fä“€JÙ#€JÔö4˜F×5Ñ5ô4ð ×"Ñ" 4Ð):ÀDÐ"ÔIà ÐrÚformat)ÚcsvÚjsonÚparquetÚexcelÚmarkdownc    ó· —tddgdtjgddgtdd¬«d    œ«}d
|›}|d k(r$|j    |d ¬ «t |dgd¬«}ne|dk(r$d}|j |«t|dgd¬«}n<|dk(r!|j|«t|dg¬«}n|dk(rätjd«tjd«Š Gˆ fd„d‰ j«}|jtjjt  t"d¬««|j%«5}    |    j'‰ d|«|j)|«t+|«}ddd«|j-«}
|
j.dk(s/J‚|dk(r(tjd «|j1|«|}t3j4|«y#1swYŒnxYw)!zE
    Test that many to/read functions support GCS.
 
    GH 33987
    ééç@ÚtÚsú
2018-06-18é©Úperiods©ÚintÚfloatÚstrÚdtzgs://test/test.r1T)ÚindexrDr)Ú parse_datesÚ    index_colr4zgs://test/test.xlsxr2)Ú convert_datesr3Úpyarrowz
pyarrow.fscó"•—eZdZeˆfd„«Zy)ú(test_to_read_gcs.<locals>.MockFileSystemc󾕗td«tj|jdd««j    «j «}‰j |«S)NzUsing pyarrow filesystemzgs://Ú)ÚprintÚpathlibÚPathÚreplaceÚabsoluteÚas_uriÚLocalFileSystem)r"Úto_localÚpa_fss  €rÚfrom_uriz1test_to_read_gcs.<locals>.MockFileSystem.from_uriZsHø€äÐ0Ô1Ü"Ÿ<™<¨¯ © °W¸bÓ(AÓB×KÑKÓM×TÑTÓVØ×,Ñ,¨XÓ6Ð6rN)r$r%r&r'rW)rVs€rÚMockFileSystemrKYsø„Ø ó 7óñ 7rrXz&pyarrow 17 broke the mocked filesystem)ÚraisesÚreasonÚ
FileSystemNz2Using pyarrow filesystem
Using pyarrow filesystem
r5Útabulate)rÚnpÚnanrÚto_csvrÚto_excelr    Úto_jsonr
r+r,r[Ú applymarkerÚmarkÚxfailrÚ    TypeErrorÚcontextÚsetattrÚ
to_parquetr Ú
readouterrÚoutÚ to_markdownÚtmÚassert_frame_equal) rr0Ú monkeypatchÚcapsysÚrequestÚdf1r"Údf2rXÚmÚcapturedrVs            @rÚtest_to_read_gcsru7sÇø€ô àq6Øœ2Ÿ6™6]ؘ:ܘ\°1Ô5ñ        
ó €Cð˜V˜HÐ %€Dà ‚Ø 
‰
4˜tˆ
Ô$ܐt¨$¨¸1Ô=ŠØ    7Ò    Ø$ˆØ  ‰ TÔܘ¨D¨6¸QÔ?ŠØ    6Ò    Ø  ‰ DÔܘ¨T¨FÔ3ŠØ    9Ò    Ü×јIÔ&Ü×#Ñ# LÓ1ˆö    7˜U×-Ñ-ô    7ð    ×ÑÜ K‰K× Ñ Ü(Ð(Ü Ø?ð ó ô    
ð×  Ñ  Ó "ð    % aØ I‰Ie˜\¨>Ô :Ø N‰N˜4Ô  Ü˜tÓ$ˆC÷    %ð×$Ñ$Ó&ˆØ|‰|ÐUÒUÐUÐUØ    :Ò    Ü×јJÔ'Ø ‰˜Ô؈ä×ј#˜sÕ#÷    %ð    %ús Ä>0GÇG$ÚresultÚexpectedÚ compressioncól—|dk(r›tjt|««5}tjt|««5}t|j    «|j    ««D] \}}|j
|j
k(rŒ J‚    ddd«ddd«y|dk(rØt jt|«¬«5}t jt|«¬«5}t|j«|j««D][\}    }
|j|    «} |j|
«} | du| duk(sJ‚| €Œ6| €Œ9| j«| j«k(rŒ[J‚    ddd«ddd«y||k(sJ‚y#1swYŒ÷xYw#1swYyxYw#1swYŒ2xYw#1swYyxYw)a
    For zip compression, only compare the CRC-32 checksum of the file contents
    to avoid checking the time-dependent last-modified timestamp which
    in some CI builds is off-by-one
 
    See https://en.wikipedia.org/wiki/ZIP_(file_format)#File_headers
    ÚzipNÚtar)Úfileobj) ÚzipfileÚZipFilerrzÚinfolistÚCRCÚtarfilerÚ
getmembersÚ extractfileÚread) rvrwrxÚexpÚresÚres_infoÚexp_infoÚtar_expÚtar_resÚ tar_res_infoÚ tar_exp_infoÚ actual_fileÚ expected_files              rÚassert_equal_zip_saferus²€ðeÒä _‰_œW V›_Ó -ð    4°´g·o±oÜ HÓ ó7
ð    4à Ü&)¨#¯,©,«.¸#¿,¹,».Ó&Iò 4Ñ"˜(Ø—|‘| x§|¡|Ó3Ð3Ð3ñ 4÷    4÷    4ð    4ð
 
˜Ò    Ü \‰\¤'¨&£/Ô 2ð
    F°g¼w¿|¹|ܘHÓ%ô@
ð
    Fà Ü.1Ø×"Ñ"Ó$ g×&8Ñ&8Ó&:ó/ò FÑ* ˜lð&×1Ñ1°,Ó? Ø '× 3Ñ 3°LÓ A Ø# tÐ+°À$Ð1FÒGÐGÐGØÑ*¨}Ñ/HØ&×+Ñ+Ó-°×1CÑ1CÓ1EÓEÐEÐEñ F÷
    F÷
    Fð
    Fð˜Ò!Ð!Ñ!÷%    4ð    4ú÷    4ð    4ú÷
    Fð
    Fú÷
    Fð
    Fúsa¤FÁAF FÂFàF*Ã%AFÅFÅ!FÅ)FÅ-F*ÆF    Æ FÆFÆF'    Æ#F*Æ*F3Úencodingúutf-8Úcp1251c óø—tdtjd«jd«zt    t d««t    t d«Dcgc]}d|›‘Œ    c}«¬«}d|i}|d    k(rd
|d <t«}|j|||d ¬ «d}|j|||¬«|j«}    |j«}
t|    |
|«t|d||¬«} tj|| «||} d|d<|d| ›z }|j|||¬«|j«}    |j«}
t|    |
|«t|dd|¬«} tj|| «ycc}w)z›
    Compression and encoding should with GCS.
 
    GH 35677 (to_csv, compression), GH 26124 (to_csv, encoding), and
    GH 32392 (read_csv, encoding)
    gš™™™™™ñ?éx)ééÚABCDr•zi-)ÚcolumnsrEÚmethodÚgzipr7ÚmtimeÚwb)rxrÚmodeúgs://test/test.csv)rxrr)rGrxrÚinferú.N)rr]ÚarangeÚreshaperÚlistÚrangerr_Úgetvaluerrrlrm) rÚcompression_onlyrÚcompression_to_extensionÚiÚdfrxÚbufferÚpath_gcsr†rwÚread_dfÚfile_exts              rÚ$test_to_csv_compression_encoding_gcsr®”sx€ô
Ø Œbi‰i˜‹n×$Ñ$ WÓ-Ñ-Ü”d˜6“lÓ#ܤu¨R£yÖ1 !r˜!˜’XÒ1Ó2ô
€BðÐ-Ð.€Kؘ6Ò!Ø ˆ GÑÜ ‹Y€F؇IIˆf +¸Àt€IÔLð$€H؇IIˆh K¸(€IÔCØ
€C؏‰Ó €Hܘ#˜xÐ)9Ô:äØ˜AÐ+;Àhô€Gô×ј"˜gÔ&ð(Ð(8Ñ9€HØ#€KÑØ !H:Ñ€H؇IIˆh K¸(€IÔCà
€C؏‰Ó €Hܘ#˜xÐ)9Ô:äx¨1¸'ÈHÔU€GÜ×ј"˜gÕ&ùòC2sÁ E7c    ó,‡—tjd«tjd«ddlm}t    ddgdt
j gdd    gtd
d ¬ «d œ«}Gˆfd„d|«}|jd|«|jdddd¬«y)zCRegression test for writing to a not-yet-existent GCS Parquet file.Ú fastparquetrr)r.r7r8r9r:r;r<r=r>r@có•—eZdZdˆfd„    Zy)ú7test_to_parquet_gcs_new_file.<locals>.MockGCSFileSystemcóp•—d|vrt‚ttjj    ‰d«|d¬«S)NÚwz test.parquetr‘)r)ÚFileNotFoundErrorrÚosr"Újoin)r!r"rrÚtmpdirs    €rrz<test_to_parquet_gcs_new_file.<locals>.MockGCSFileSystem.openÖs.ø€Ø˜$‰Ü'Ð'ÜœŸ™Ÿ ™  V¨^Ó<¸dÈWÔUÐ UrN)Úr)r$r%r&r)r¸s€rr(r²Õs    ø„ö    Vrr(zgcsfs.GCSFileSystemržTN)rEÚenginerx)
r+r,rr.rr]r^rrgrh)rnr¸r.rqr(s `   rÚtest_to_parquet_gcs_new_filer»Ås‘ø€ä
×ј Ô&Ü
×јԠå)ä
àq6Øœ2Ÿ6™6]ؘ:ܘ\°1Ô5ñ        
ó €CöVÐ.ôVð ×ÑÐ-Ð/@ÔA؇NNØ D°ÈDðõrrcóv—tjt«5td«ddd«y#1swYyxYw)Nrž)rlÚexternal_error_raisedÚ ImportErrorrrrrÚtest_gcs_not_present_exceptionr¿ás.€ä     ×    !Ñ    !¤+Ó    .ñ'ÜÐ%Ô&÷'÷'ñ'úsš /¯8)(Úiorr¶rOrr}Únumpyr]r+Úpandas.compat.pyarrowrÚpandasrrrrr    r
r Úpandas._testingÚ_testingrlÚ pandas.utilr ÚtdrcÚfilterwarningsÚ
pytestmarkÚfixturerÚ
single_cpuÚ parametrizeruÚbytesrCrr®r»Úskip_if_installedr¿rrrú<module>rÏsðÝÛ    ÛÛÛãÛ å6÷÷ñõÝ.à [‰[× 'Ñ 'ØCó€
ð
‡ñóðð2‡×ÑØ‡×јÒ#RÓSñ9$óTóð9$ðx" %ð"°5ð"Àsó"ð>‡×ј g¨xÐ%8Ó9ñ-'ó:ð-'ò`ð8€×ѐgÓñ'óñ'r