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
Ë
nñúhH+ãóº—ddlmZddlmZddlZddlmZddlmZddl    m
Z
m Z ddl m Z ddlmZdd    lmZdd
lmZdd lmZer dd lmZdd lmZGd„de«Zy)é)Ú annotations)Ú TYPE_CHECKINGN)Úlib)Úimport_optional_dependency)Ú ParserErrorÚ ParserWarning)Úfind_stack_level)Ú pandas_dtype)Ú
is_integer)Úarrow_table_to_pandas)Ú
ParserBase)Ú
ReadBuffer)Ú    DataFramecóL‡—eZdZdZdˆfd„ Zd    d„Zd    d„Zd
d„Zd    d„Zd d„Z    ˆxZ
S) ÚArrowParserWrapperz7
    Wrapper for the pyarrow engine for read_csv()
    c ó`•—t‰||«||_||_|j    «y©N)ÚsuperÚ__init__ÚkwdsÚsrcÚ _parse_kwds)ÚselfrrÚ    __class__s   €úYH:\Change_password\venv_build\Lib\site-packages\pandas/io/parsers/arrow_parser_wrapper.pyrzArrowParserWrapper.__init__s*ø€Ü ‰Ñ˜Ô؈Œ    ØˆŒà ×ÑÕócóޗ|jjd«}|€dn||_|jd}t|t«r t d«‚t |jd«|_y)z?
        Validates keywords before passing to pyarrow.
        ÚencodingNzutf-8Ú    na_valuesz?The pyarrow engine doesn't support passing a dict for na_values)rÚgetrÚ
isinstanceÚdictÚ
ValueErrorÚlistr)rrrs   rrzArrowParserWrapper._parse_kwds&sc€ð $Ÿy™yŸ}™}¨ZÓ8ˆØ#+Ð#3™¸ˆŒ à—I‘I˜kÑ*ˆ    Ü i¤Ô &ÜØQóð ô˜dŸi™i¨ Ñ4Ó5ˆrcó0—dddddddœ}|j«D]X\}}||jvsŒ|jj|«€Œ1|jj|«|j|<ŒZ|j}t |t «r|g}nd}||jd    <|jj«Dcic]\}}||d
vr||“Œc}}|_|jjd «}|¦t|«r||jd <n‹|tjjk(rd|jd <n^|tjjk(rdd „}||jd <n-|tjjk(rd„|jd <|jj«Dcic]\}}||dvr||“Œc}}|_d|jdv|jd<|j€;d|jvr-|jdD    cgc]}    d|    ›‘Œ    c}    |jd<|jdu|j |jn|jd|j dœ|_ycc}}wcc}}wcc}    w)z:
        Rename some arguments to pass to pyarrow
        Úinclude_columnsÚ null_valuesÚ escape_charÚignore_empty_linesÚ decimal_pointÚ
quote_char)ÚusecolsrÚ
escapecharÚskip_blank_linesÚdecimalÚ    quotecharNÚtimestamp_parsers)Ú    delimiterr+r(r)Ú on_bad_linesÚinvalid_row_handlercóš—tjd|j›d|j›d|j›t
t «¬«y)Nz    Expected z columns, but found z: )Ú
stacklevelÚskip)ÚwarningsÚwarnÚexpected_columnsÚactual_columnsÚtextrr    )Ú invalid_rows rÚhandle_warningz?ArrowParserWrapper._get_pyarrow_options.<locals>.handle_warningesL€Ü—M‘MØ# K×$@Ñ$@Ð#AÐAUØ&×5Ñ5Ð6°b¸×9IÑ9IÐ8JðLä%Ü#3Ó#5õ    ð "rcó—y)Nr7©)Ú_s rú<lambda>z9ArrowParserWrapper._get_pyarrow_options.<locals>.<lambda>psr)r&r'Ú true_valuesÚ false_valuesr*r1ÚÚstrings_can_be_nullÚfÚskiprows)Úautogenerate_column_namesÚ    skip_rowsr)ÚreturnÚstr)Úitemsrr ÚpopÚ date_formatr!rLÚ parse_optionsÚcallabler ÚBadLineHandleMethodÚERRORÚWARNÚSKIPÚconvert_optionsÚheaderrÚ read_options)
rÚmappingÚ pandas_nameÚ pyarrow_namerOÚ option_nameÚ option_valuer3r>Úns
          rÚ_get_pyarrow_optionsz'ArrowParserWrapper._get_pyarrow_options4sœ€ð
)Ø&Ø'Ø 4Ø&Ø%ñ 
ˆð*1¯©«ò    EÑ %ˆK˜Ø˜dŸi™iÒ'¨D¯I©I¯M©M¸+Ó,FÑ,RØ*.¯)©)¯-©-¸ Ó*D—    ‘    ˜,Ò'ð    Eð×&Ñ&ˆ Ü k¤3Ô 'Ø&˜-‰KðˆKØ)4ˆ    ‰    Ð%Ñ&ð.2¯Y©Y¯_©_Ó->÷
á) ˜\ØÐ'ØØOñPð ˜Ñ %ó
ˆÔð—y‘y—}‘} ^Ó4ˆ Ø Ð #ܘ Ô%Ø<H×"Ñ"Ð#8Ò9ؤ×!?Ñ!?×!EÑ!EÒEðð×"Ñ"Ø)òð¤×!?Ñ!?×!DÑ!DÒDó"ð=K×"Ñ"Ð#8Ò9ؤ×!?Ñ!?×!DÑ!DÒDÙ<L×"Ñ"Ð#8Ñ9ð.2¯Y©Y¯_©_Ó->÷  
á) ˜\ØÐ'Øðñð ˜Ñ %ó  
ˆÔð79¸D¿I¹IÀmÑ<TÐ6Tˆ×ÑÐ2Ñ3à ;‰;Ð Ð#4¸×8LÑ8LÑ#Là!%×!5Ñ!5Ð6GÑ!Hö7ؐ!A3’ò7ˆD×  Ñ  Ð!2Ñ 3ð
*.¯©¸Ð)<à{‰{Ð&ðŸšà—‘˜:Ñ&ØŸ ™ ñ 
ˆÕùói
ùó>  
ùò"7sÃJÆ?J È$ JcóX—t|j«}d}|j€ž|j€|j€t    |«|_t|j«|k7rMt    |t|j«z
«Dcgc] }t |«‘Œ}}||jz|_d}|j|_|j |j|«\}}|jl|jj«}t|j«D]æ\}}    t|    «r|j|    ||<n|    |jvrtd|    ›d«‚|j€ŒN|jj|    «|    |jj|    «fn6|j|    |jj|j|    «f\}
} | €ŒÃ||
j| «||
<|j|
=Œè|j|dd¬«|j€4|s2dgt|j j«z|j _|jt#|jt$«rK|jj'«D  cic]\} } | |jvr | t)| «“Œ!c} } |_ nt)|j«|_     |j|j«}|S|Scc}wcc} } w#t*$r}t|«‚d}~wwxYw)z÷
        Processes data read in based on kwargs.
 
        Parameters
        ----------
        frame: DataFrame
            The DataFrame to process.
 
        Returns
        -------
        DataFrame
            The processed DataFrame.
        TNFzIndex z invalid)ÚdropÚinplace)ÚlenÚcolumnsrWÚnamesÚrangerLÚ_do_date_conversionsÚ    index_colÚcopyÚ    enumerater r#Údtyper ÚastypeÚ    set_indexÚindexr!r"rMr
Ú    TypeError)rÚframeÚnum_colsÚmulti_index_namedÚxÚcolumns_prefixrAÚ index_to_setÚiÚitemÚkeyÚ    new_dtypeÚkÚvÚes               rÚ_finalize_pandas_outputz*ArrowParserWrapper._finalize_pandas_outputs¹€ôu—}‘}Ó%ˆØ ÐØ ;‰;Р؏z‰zÐ!Ø—;‘;Ð&Ü!& x£D”Jܐ4—:‘:‹ (Ò*ô
38¸Ä3ÀtÇzÁzÃ?Ñ8RÓ2SÖ!T¨Q¤# a¥&Ð!TÐ!TØ+¨d¯j©jÑ8”
Ø$)Ð!Ø ŸJ™JˆEŒMà×,Ñ,¨U¯]©]¸EÓB‰ˆˆ5Ø >‰>Ñ %ØŸ>™>×.Ñ.Ó0ˆLÜ$ T§^¡^Ó4ò ,‘4ܘdÔ#Ø&+§m¡m°DÑ&9L ’Oà §¡Ñ.Ü$ v¨d¨V°8Ð%<Ó=Ð=ð—:‘:Ñ)ð Ÿ:™:Ÿ>™>¨$Ó/Ð;ð˜tŸz™zŸ~™~¨dÓ3Ñ4à#Ÿm™m¨DÑ1°4·:±:·>±>À%Ç-Á-ÐPTÑBUÓ3VÐWñ#C˜ð
!Ñ,Ø%*¨3¡Z×%6Ñ%6°yÓ%A˜˜c™
Ø ŸJ™J s™Oð! ,ð$ O‰O˜L¨t¸TˆOÔ Bà{‰{Ð"Ñ+<Ø%) F¬S°·±×1BÑ1BÓ-CÑ$C— ‘ Ô!à :‰:Ð !ô˜$Ÿ*™*¤dÔ+ð!%§
¡
× 0Ñ 0Ó 2÷ᘘ1ؘEŸM™MÑ)ð”| A“Ñ&ó•
ô *¨$¯*©*Ó5”
ð $ØŸ ™  T§Z¡ZÓ0ðˆ ˆuˆ ùò_"UùóFøôò $ä  “mÐ#ûð $ús$ÂLÊ$L
Ë&LÌ    L)Ì L$Ì$L)có”—tj|«rtd„|D««s td«‚t    |«r td«‚y)Nc3ó<K—|]}t|t«–—Œy­wr©r!rL©Ú.0rss  rú    <genexpr>z7ArrowParserWrapper._validate_usecols.<locals>.<genexpr>Úsèø€Ò0UÈ´¸A¼s×1CÑ0Uùó‚zwThe pyarrow engine does not allow 'usecols' to be integer column positions. Pass a list of string column names instead.z=The pyarrow engine does not allow 'usecols' to be a callable.)rÚ is_list_likeÚallr#rQ)rr,s  rÚ_validate_usecolsz$ArrowParserWrapper._validate_usecolsÙsO€Ü × Ñ ˜GÔ $¬SÑ0UÈWÔ0UÔ-UÜðPóð ôgÔ ÜØOóð ðrc    óä—td«}td«}|j«    |jdi|j¤Ž}    |j|j|jdi|j¤Ž|jdi|j ¤Ž|¬«}|j&d    }|tj(ur |j*}    |j-«}
t/|j*j0«D]Q\} } |j0j3| «sŒ"|    j| |    j5| «j7|
««}    ŒS|j9|    «}t;j<«5t;j>d
d t@«tC||d ¬ «} ddd«|jE «S#t$r‡|jj dd«}||j |«|jj dt««}tj|«rtd„|D««s t    d«‚‚wxYw#|j"$r}t%|«|‚d}~wwxYw#1swYŒÐxYw)zÿ
        Reads the contents of a CSV file into a DataFrame and
        processes it according to the kwargs passed in the
        constructor.
 
        Returns
        -------
        DataFrame
            The DataFrame created from the CSV file.
        Úpyarrowz pyarrow.csvr&Nr'c3ó<K—|]}t|t«–—Œy­wrr€rs  rrƒz*ArrowParserWrapper.read.<locals>.<genexpr>ûsèø€ò6Ø'(”
˜1œc×"ñ6ùr„z9The 'pyarrow' engine requires all na_values to be strings)rXrPrVÚ dtype_backendÚignorezmake_block is deprecatedT)r‹Ú null_to_int64r@)#rr_ÚConvertOptionsrVror r‡Úsetrr…r†Úread_csvrÚ ReadOptionsrXÚ ParseOptionsrPÚ ArrowInvalidrrÚ
no_defaultÚschemaÚfloat64rjÚtypesÚis_nullÚfieldÚ    with_typeÚcastr8Úcatch_warningsÚfilterwarningsÚDeprecationWarningr r})rÚpaÚ pyarrow_csvrVÚincludeÚnullsÚtabler|r‹Ú
new_schemaÚnew_typervÚ
arrow_typerps              rÚreadzArrowParserWrapper.readäsJ€ô(¨    Ó 2ˆÜ0°Ó?ˆ Ø ×!Ñ!Ô#ð    Ø8˜k×8Ñ8ÑP¸4×;OÑ;OÑPˆOð     (Ø×(Ñ(Ø—‘Ø4˜[×4Ñ4ÑI°t×7HÑ7HÑIØ6˜k×6Ñ6ÑL¸×9KÑ9KÑLØ /ð    )óˆE🠠  ™     /Ñ2ˆ ð œCŸN™NÑ *ØŸ™ˆJØ—z‘z“|ˆHÜ!*¨5¯<©<×+=Ñ+=Ó!>ò ‘ :Ø—8‘8×#Ñ# JÕ/Ø!+§¡Ø˜:×+Ñ+¨AÓ.×8Ñ8¸ÓBó"‘Jð ð —J‘J˜zÓ*ˆEä × $Ñ $Ó &ñ    Ü × #Ñ #ØØ*Ü"ô ô
*Ø ]À$ôˆE÷     ð×+Ñ+¨EÓ2Ð2øôeò     Ø×*Ñ*×.Ñ.Ð/@À$ÓGˆGØÐ"Ø×&Ñ& wÔ/à×(Ñ(×,Ñ,¨]¼C»EÓBˆEÜ×#Ñ# EÔ*´#ñ6Ø,1ô6ô3ô ØOóðð ð     ûð,‰ò    (ܘa“. aÐ 'ûð    (ú÷$    ð    ús1¨F0ÁAIÅ-*I&Æ0BIÉI#É IÉI#É&I/)rzReadBuffer[bytes]rKÚNone)rKr¨)rprrKr)rKr) Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrr_r}r‡r§Ú __classcell__)rs@rrrs+ø„ñõó 6óY
óvHóT    ÷C3rr)Ú
__future__rÚtypingrr8Ú pandas._libsrÚpandas.compat._optionalrÚ pandas.errorsrrÚpandas.util._exceptionsr    Úpandas.core.dtypes.commonr
Úpandas.core.dtypes.inferencer Úpandas.io._utilr Úpandas.io.parsers.base_parserr Úpandas._typingrÚpandasrrr@rrú<module>rºsAðÝ"å ÛåÝ>÷õ5å2Ý3å1Ý4áÝ)å ôM3˜õM3r