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
U
­ý°d`ã    @sdZddlZddlmZddlZddlmZddlmZddl    m
Z ej   d¡Zejdd„ƒZd    d
„Zd d „Zd d„Zej  dddddddg¡ej  ddddg¡dd„ƒƒZej jdddidfddiefdd idfddidfddiefddiefgd!d"d#d$d%d&gd'd(d)„ƒZdS)*zf
Tests that dialects are properly handled during parsing
for all of the parsers defined in parsers.py
éN)ÚStringIO)Ú ParserWarning)Ú    DataFrameZ pyarrow_skipcCsd}dddddddœ}||fS)NZweirdFú~ú:é)Ú doublequoteÚ
escapecharÚ    delimiterÚskipinitialspaceÚ    quotecharÚquoting©)Ú dialect_nameÚdialect_kwargsrrúZd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/parser/test_dialect.pyÚcustom_dialectsúrcCs\|}d}t ¡}tj|_|jt|ƒ|d}d}| t|ƒ¡}|jddddt ||¡dS)Nz0label1,label2,label3
index1,"a,c,e
index2,b,d,f
©Údialectz/label1,label2,label3
index1,a,c,e
index2,b,d,f
Úaz"aT)Zinplace)    ÚcsvÚexcelÚ
QUOTE_NONEr Úread_csvrÚreplaceÚtmÚassert_frame_equal)Ú all_parsersÚparserÚdataZdiaÚdfÚexprrrÚ test_dialect!sr"c    Cs^d}|}d}tddgddgdœƒ}tj|dd    $|jt|ƒ|d
}t ||¡W5QRXdS) NZ    mydialectz+fruit:vegetable
apple:broccoli
pear:tomato
ZappleZpearZbroccoliZtomato)ZfruitZ    vegetabler)r
r)rrÚwith_csv_dialectrrr)rrrrr!r rrrÚtest_dialect_str7sr$c    CsJGdd„dƒ}d}|}d}tjt|d|jt|ƒ|dW5QRXdS)Nc@s eZdZdS)z,test_invalid_dialect.<locals>.InvalidDialectN)Ú__name__Ú
__module__Ú __qualname__rrrrÚInvalidDialectGsr(za
1zInvalid dialect)Úmatchr)ÚpytestZraisesÚ
ValueErrorrr)rr(rrÚmsgrrrÚtest_invalid_dialectFs r-Úargrr    r r r ÚvaluerÚdefaultÚotherc     Cs¾|\}}|}tdgdgdœƒ}d}d}    i}
|dk    rv|dkrH|||
|<n.|dkrjddlm} | ||
|<n t}    d    |
|<tj|f|Ž0|j|    d
t|ƒfd|i|
—Ž} t | |¡W5QRXdS) Néé©rÚbúa:b
1:2rr0r)Úparser_defaultsZblahzConflicting values for)    rZpandas.io.parsers.base_parserr7rrr#Úread_csv_check_warningsrr) rrr.r/rrrÚexpectedrÚ warning_klassÚkwdsr7ÚresultrrrÚ&test_dialect_conflict_except_delimiterRs2 ýüûr=zkwargs,warning_klassÚsepú,Ú.r
rzsep-override-truezsep-override-falsezdelimiter-no-conflictzdelimiter-default-argzdelimiter-conflictzdelimiter-conflict2)Úidsc
    Csj|\}}|}tdgdgdœƒ}d}tj|f|Ž0|j|dt|ƒfd|i|—Ž}    t |    |¡W5QRXdS)Nr2r3r4r6z"Conflicting values for 'delimiter'r)rrr#r8rr)
rrÚkwargsr:rrrr9rr<rrrÚtest_dialect_conflict_delimiterysýüûrC)Ú__doc__rÚiorr*Z pandas.errorsrZpandasrZpandas._testingZ_testingrÚmarkZ usefixturesZ
pytestmarkZfixturerr"r$r-Z parametrizer=rCrrrrÚ<module>sH     
 þ "
 
 
 
 
 
ú    úö