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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
U
­ý°dŸ5ã@sPddlmZddlZddlmZddlmmZddl    m
Z
m Z m Z ddl mZddlmZejejde d¡ddgd    d
d „ƒZejdd d ddddgigd    dd„ƒZdd„ZdZdZdd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Z d&d'„Z!d(d)„Z"d*d+„Z#d,d-„Z$d.d/„Z%d0d1„Z&d2d3„Z'd4d5„Z(d6d7„Z)d8d9„Z*d:d;„Z+dS)<é)Ú annotationsN)Ú ParserWarning)Ú    DataFrameÚSeriesÚ to_datetime)Úread_xmlÚlxml)ZmarksÚetree)ÚparamscCs|jS©N©Úparam©Úrequest©rúZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/xml/test_xml_dtypes.pyÚparsersrZbookÚcategoryÚtitleÚauthorÚyearZpricecCs|jSr r rrrrÚ    iterparsesrc
KsLt ¡:}t|dƒ}| |¡W5QRXt|f|ŽW5QR£SQRXdS)NÚw)ÚtmZ ensure_cleanÚopenÚwriter)ÚdataÚkwargsÚpathÚfrrrÚread_xml_iterparses
 r aK<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
  </row>
</data>aŸ<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
    <date>2020-01-01</date>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
    <date>2021-01-01</date>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
    <date>2022-01-01</date>
  </row>
</data>cCsrttddi|d}tt|ddiddddgid}tdd    d
gd d d gd tdƒdgdœƒ}t ||¡t ||¡dS)NÚdegreesÚstr©ÚdtyperÚrowÚshapeÚsides©rr$rÚsquareÚcircleÚtriangleÚ00360Ú00180ç@Únanç@©r&r!r')rÚ    xml_typesr rÚfloatrÚassert_frame_equal©rÚ    df_resultÚdf_iterÚ df_expectedrrrÚtest_dtype_single_strSs ü ýÿ r9c    Cstttd|d}tt|ddddddgid}td    d
d gd d d gdddgdddgdœdd}t ||¡t ||¡dS)NÚstringr#r%r&r!r'Údater(r)r*r+r,r-z4.0z3.0ú
2020-01-01ú
2021-01-01ú
2022-01-01©r&r!r'r;)r$)rÚ    xml_datesr rrr4r5rrrÚtest_dtypes_all_strhs"üüù
rAc
Cs°ttddddgddddœ|d    }tt|ddddgddddœd
d d d dgid}tdddgtdddgƒ d¡tdtdƒdgƒ d¡tdddgƒdœƒ}t     ||¡t     ||¡dS)NÚCol1ÚCol2ÚCol3ÚCol4r:ÚInt64zdatetime64[ns])rCrDrE)Únamesr$rr%r&r!r'r;)rrGr$rr)r*r+r,r-r.r/r0r<r=r>)rBrCrDrE)
rr@r rrÚastyper3rrr4r5rrrÚtest_dtypes_with_namess,
 
ü
 
û üÿ     rIcCs|ttddi|d}tt|ddiddddgid}tdd    d
gd d d gtd tdƒdgƒ d¡dœƒ}t ||¡t ||¡dS)Nr'rFr#r%r&r!r(r)r*r+éhé´r.r/r0r1)    rr2r rrr3rHrr4r5rrrÚtest_dtype_nullable_int›s üýÿ rLcCs|ttddi|d}tt|ddiddddgid}tdd    d
gtd d d gƒ d¡d tdƒdgdœƒ}t ||¡t ||¡dS)Nr!r3r#r%r&r'r(r)r*r+rJrKr.r/r0r1)    rr2r rrrHr3rr4r5rrrÚtest_dtype_float°s ü ýÿ rMc    Cs@|ddddƒ}tjtddt|ddi||d    W5QRXdS)
NÚiorÚxmlú    books.xmlz7Unable to parse string "Everyday Italian" at position 0©ÚmatchrrF)r$rr)ÚpytestÚraisesÚ
ValueErrorr©ÚdatapathrrÚfilenamerrrÚtest_wrong_dtypeÅs ÿrYc
Cs˜tdddgdddgdtdƒdgd    œƒ}tjtd
d Zttd d id ti|d}ttd d id ti|ddd dgid}t     ||¡t     ||¡W5QRXdS)Nr)r*r+r,r-r.r/r0r1zBoth a converter and dtyperQr!r")r$Ú
convertersrr%r&r')r$rZrr)
rr3rÚassert_produces_warningrrr2r"r r4)rr8r6r7rrrÚtest_both_dtype_convertersÍs, ýÿü û r\cCsrttdti|d}tt|dtiddddgid}tddd    gd
d
d gd td ƒdgdœƒ}t ||¡t ||¡dS)Nr!©rZrr%r&r'©rrZrr)r*r+r,r-r.r/r0r1)rr2r"r rr3rr4r5rrrÚtest_converters_strìs ü ýÿ r_c    Csˆdd„}ttd|i|d}tt|d|idddddgid    }td
d d gd d dgdtdƒdgtdddgƒdœƒ}t ||¡t ||¡dS)NcSst|ƒSr )r)ÚxrrrÚ<lambda>óz&test_converters_date.<locals>.<lambda>r;r]r%r&r!r'r^r)r*r+rJrKr.r/r0r<r=r>r?©rr@r rr3rrr4)rZconvert_to_datetimer6r7r8rrrÚtest_converters_dates*ÿü  üÿ     rdc    Cs@|ddddƒ}tjtddt|dth||dW5QRXdS)    NrNrrOrPz*Type converters must be a dict or subclassrQr©rZrr)rSrTÚ    TypeErrorrr"rVrrrÚtest_wrong_converters_typesrgc    CsB|ddddƒ}tjtddt|dtƒi||dW5QRXdS)    NrNrrOrPz'float' object is not callablerQrre)rSrTrfrr3rVrrrÚtest_callable_func_converters sÿrhc    Cs@|ddddƒ}tjtddt|ddi||d    W5QRXdS)
NrNrrOrPz'str' object is not callablerQrr3re©rSrTrfrrVrrrÚtest_callable_str_converters(sÿrjc    Cs|ttdg|d}tt|dgdddddgid}tdd    d
gd d d gd tdƒdgtdddgƒdœƒ}t ||¡t ||¡dS)Nr;©Ú parse_datesrr%r&r!r'©rrlrr)r*r+rJrKr.r/r0r<r=r>r?rcr5rrrÚtest_parse_dates_column_name3s ü  üÿ     rnc    Cs|ttdg|d}tt|dgdddddgid}td    d
d gd d d gdtdƒdgtdddgƒdœƒ}t ||¡t ||¡dS)Nérkr%r&r!r'r;rmr)r*r+rJrKr.r/r0r<r=r>r?rcr5rrrÚtest_parse_dates_column_indexIs ü  üÿ     rpc    Cstttd|d}tt|ddddddgid}td    d
d gd d d gdtdƒdgdddgdœƒ}t ||¡t ||¡dS)NTrkr%r&r!r'r;rmr)r*r+rJrKr.r/r0r<r=r>r?)rr@r rr3rr4r5rrrÚtest_parse_dates_true_s ü üÿ     rqc Cs”d}t|ddddgi|d}t||ddddgiddd    d
dddgid }ttd d dgƒdddgdddgdtdƒdgdœƒ}t ||¡t ||¡dS)Naÿ<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
    <year>2020</year>
    <month>12</month>
    <day>31</day>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
    <year>2021</year>
    <month>12</month>
    <day>31</day>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
    <year>2022</year>
    <month>12</month>
    <day>31</day>
  </row>
</data>Údate_endrÚmonthÚdayrkr%r&r!r'rmú
2020-12-31ú
2021-12-31ú
2022-12-31r)r*r+rJrKr.r/r0)rrr&r!r')rr rrr3rr4)rrOr6r7r8rrrÚtest_parse_dates_dictionaryvs* ÿ ü  üÿ     rxc
Csšd}tdddgdddgdtdƒd    gtd
d d gƒd œƒ}tjtddLt|dg|d}t|dg|dddddgid}t ||¡t ||¡W5QRXdS)NaŸ<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <shape>square</shape>
    <degrees>00360</degrees>
    <sides>4.0</sides>
    <date>31/12/2020</date>
   </row>
  <row>
    <shape>circle</shape>
    <degrees>00360</degrees>
    <sides/>
    <date>31/12/2021</date>
  </row>
  <row>
    <shape>triangle</shape>
    <degrees>00180</degrees>
    <sides>3.0</sides>
    <date>31/12/2022</date>
  </row>
</data>r)r*r+rJrKr.r/r0rurvrwr?z Parsing dates in %d/%m/%Y formatrQr;rkr%r&r!r'©rlrr)    rr3rrr[Ú UserWarningrr r4)rrOr8r6r7rrrÚtest_day_first_parse_datesªs*  üÿ    ÿü r{c    Cs>|ddddƒ}tjtddt|dh||dW5QRXdS)    NrNrrOrPz3Only booleans, lists, and dictionaries are acceptedrQr;ryrirVrrrÚtest_wrong_parse_dates_typeÚs ÿr|),Ú
__future__rrSZ pandas.errorsrZpandas.util._test_decoratorsÚutilZ_test_decoratorsÚtdZpandasrrrZpandas._testingZ_testingrZ pandas.io.xmlrZfixturer Z
skip_if_norrr r2r@r9rArIrLrMrYr\r_rdrgrhrjrnrprqrxr{r|rrrrÚ<module>sB    
ÿ
 40