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
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
U
­ý°d‚ã    @s>dZddlZddlZddlmZddlZddlmZddlZddl    Z
ddl Z ddl m Z ddlmZmZddlmZddlmZe j d¡Zd    d
„Zd d „Zd d„Ze j ddddg¡dd„ƒZdd„Ze j dddddddg¡dd„ƒZdd„Z dd„Z!dd „Z"d!d"„Z#d#d$„Z$d%d&„Z%d'd(„Z&d)d*„Z'd+d,„Z(d-d.„Z)dS)/zy
Tests that work on both the Python and C engines but do not have a
specific classification into the other test modules.
éN)ÚStringIO)ÚPath)ÚPY311)ÚEmptyDataErrorÚ ParserError)Ú    DataFrameZ pyarrow_skipc    Cs<d}d}|}tjt|d|jt|ƒddW5QRXdS)NzA|B|C
1|2,334|5
10|13|10.
z'Only length-1 decimal markers supported©ÚmatchÚ)Údecimal©ÚpytestÚraisesÚ
ValueErrorÚread_csvr)Ú all_parsersÚdataÚmsgÚparser©rúed:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/parser/common/test_read_errors.pyÚtest_empty_decimal_markers
rc     CsŽtj |d¡}t d¡}t d¡}|}d}t|dƒP}t ||j|j|j    |j
¡*}t j t |d| |¡W5QRXW5QRXW5QRXdS)Nzsauron.SHIFT_JIS.csvzutf-8z'utf-8' codec can't decode byteÚrbr)ÚosÚpathÚjoinÚcodecsÚlookupÚopenÚ StreamRecoderÚencodeÚdecodeÚ streamreaderÚ streamwriterr rÚUnicodeDecodeErrorr)    rZ csv_dir_pathrÚcodecÚutf8rrÚhandleÚstreamrrrÚtest_bad_stream_exception(s
 
ÿr)c    Cs>|}d}d}tjt|d|jt|ƒdddW5QRXdS)Nz-ignore
A,B,C
1,2,3 # comment
1,2,3,4,5
2,3,4
z"Expected 3 fields in line 4, saw 5réú#)ÚheaderÚcomment©r rrrr©rrrrrrrÚtest_malformed<s
r0Únrowsééc
Cs\d}|}d}|jt|ƒdddddgd*}tjt|d| |¡W5QRXW5QRXdS)    Nz9ignore
A,B,C
skip
1,2,3
3,5,10 # comment
1,2,3,4,5
2,3,4
z"Expected 3 fields in line 6, saw 5r*r+Té)r,r-ÚiteratorÚ    chunksizeZskiprowsr)rrr rrÚread)rr1rrrÚreaderrrrÚtest_malformed_chunksJsÿr9c    CsTd}|}|jdkrdnd}tjt|d"|jt|ƒddddd    gd
W5QRXdS) Nz1,2,3
4,,6
7,8,9
10,11,12
Úcz2Too many columns specified: expected 4 and found 3zHNumber of passed names did not match number of header fields in the filerrÚaÚbÚd)r,Únames)Úenginer rrrr©rrrrrrrÚtest_catch_too_many_names]sÿýrAr*r4éc    Cs<|}d|}d}tjt|d| t|ƒ¡W5QRXdS)NÚ
zNo columns to parse from filer)r rrrr)rr1rrrrrrÚtest_raise_on_no_columnsps
rDc    Csh|}d}tjt| d¡d|jdddW5QRXtjt| d¡d|jdddW5QRXdS)    Nz/{}\(\) got an unexpected keyword argument 'foo'rrzfoo.csvr*)ÚfooÚ
read_tablezfoo.tsv)r rÚ    TypeErrorÚformatrrF)rrrrrrÚ+test_unexpected_keyword_parameter_exceptionzs rIcCsP|}d}tdddgiƒ}|jt|ƒdd}t ||¡| ¡}|jdksLt‚dS)Núa
1
1,2,3
4
5,6,7r;r*rBÚskip©Ú on_bad_linesr
©rrrÚtmÚassert_frame_equalÚ
readouterrÚerrÚAssertionError©rÚcapsysrrÚexpectedÚresultÚcapturedrrrÚtest_suppress_error_output…s rYc    Cs<|}d}d}tjt|d|jt|ƒddW5QRXdS)NrJz"Expected 1 fields in line 3, saw 3rÚerrorrLr.r/rrrÚtest_error_bad_lines’s
r[cCs^|}d}tdddgiƒ}|jt|ƒdd}t ||¡| ¡}d|jksLt‚d|jksZt‚dS)    NrJr;r*rBÚwarnrLzSkipping line 3zSkipping line 5rNrTrrrÚtest_warn_bad_linesœs r]c    Cs8d}|}d}tjt|d| t|ƒ¡W5QRXdS)Nz;A,B,C,D,E,F
1,2,3,4,5,6
6,7,8,9,10,11,12
11,12,13,14,15,16
z"Expected 6 fields in line 3, saw 7rr.r@rrrÚtest_read_csv_wrong_num_columnsªs
r^c    Cs´d}ddg}|}|jdks(|jdkr€tr€|jdkrLtrL|j tjjdd¡ttj    dgg|d    }|j
t |ƒ|d
}t   ||¡n0d }tjt|d |j
t |ƒ|d
W5QRXdS) Nz,foor;r<r:Úpythonz;In Python 3.11, this is read as an empty character not null©ÚreasonrE)Úcolumns)r>zNULL byte detectedr)r?rÚnodeÚ
add_markerr ÚmarkÚxfailrÚnpÚnanrrrOrPrr)Úrequestrrr>rrVÚoutrrrrÚtest_null_byte_char¸s ÿÿrkc CsÂ|}|jdkr,|j tjj|j›dd¡t ¡„}t|ƒ}|     d¡t
j ddZ}t
j dt dtjtjd    d
|j|dd d W5QRXt|ƒd ksªt|d jƒ‚W5QRXW5QRXdS)Nr:z= engine does not support sep=None with delim_whitespace=Falser`sä
a
1T)ÚrecordÚalways)ÚcategoryzCould not determine delimiterrÚreplace)ÚsepZencoding_errorsr)r?rcrdr rerfrOZ ensure_cleanrÚ write_bytesÚwarningsÚcatch_warningsÚ simplefilterÚResourceWarningrÚcsvÚErrorrÚlenrSÚmessage)rirrrÚfilerlrrrÚtest_open_fileÎs
 
ÿÿ
 
r{c    Cs8|}d}tjtdd|jt|ƒddW5QRXdS)NrJz(Argument abc is invalid for on_bad_linesrÚabcrLr )rrrrrrÚtest_invalid_on_bad_lineåsr}c    CsL|}d}d}|jdkrd}tjt|d|jt|ƒdddW5QRXdS)    Nz,+++123456789...
col1,col2,col3,col4
1,2,3,4
z"Expected 2 fields in line 2, saw 4r:zUCould not construct index. Requested to use 1 number of columns, but 3 left to parse.rrrZ)Z    index_colrM)r?r rrrrr/rrrÚtest_bad_header_uniform_errorìs
ÿr~cCsh|}d}tddgddœƒ}|jt|ƒdd}t ||¡| ¡}|jdkrRd    }nd
}|j|ksdt‚dS) Nz1,2
a,b
a,b,c
a,b,d
a,b
r;r<r4)Ú1Ú2r\rLr:zUSkipping line 3: expected 2 fields, saw 3
Skipping line 4: expected 2 fields, saw 3
 
zhSkipping line 3: Expected 2 fields in line 3, saw 3
Skipping line 4: Expected 2 fields in line 4, saw 3
)    rrrrOrPrQr?rRrS)rrUrrrVrWrXr\rrrÚ)test_on_bad_lines_warn_correct_formattingús 
r)*Ú__doc__rrvÚiorrÚpathlibrrrÚnumpyrgr Z pandas.compatrZ pandas.errorsrrZpandasrZpandas._testingZ_testingrOreZ usefixturesZ
pytestmarkrr)r0Z parametrizer9rArDrIrYr[r]r^rkr{r}r~rrrrrÚ<module>s>