Files
952-11/env/python/dll/Python312/Lib/__pycache__/csv.cpython-312.pyc
T

101 lines
17 KiB
Plaintext
Raw Normal View History

2024-08-19 17:05:14 +08:00
Ë
*åfÅAãóH—dZddlZddlZddlmZmZmZmZmZm Z m
Z
m Z m Z m
Z
mZmZmZmZmZmZddlmZddlmZgd¢ZGd„d«ZGd „d
e«Zed
e«Gd „d e«Zed
e«Gd„de«Zede«Gd„d«ZGd„d«ZGd„d«Zy)z+
csv.py - read/write/investigate CSV files
éN)ÚErrorÚ __version__ÚwriterÚreaderÚregister_dialectÚunregister_dialectÚ get_dialectÚ
list_dialectsÚfield_size_limitÚ
QUOTE_MINIMALÚ QUOTE_ALLÚQUOTE_NONNUMERICÚ
QUOTE_NONEÚ
QUOTE_STRINGSÚ
QUOTE_NOTNULLÚ__doc__)ÚDialect)ÚStringIO)r r
rrrrrrrÚexcelÚ excel_tabr rrrr r
ÚSnifferrrÚ
DictReaderÚ
DictWriterÚ unix_dialectcó@—eZdZdZdZdZdZdZdZdZ dZ
dZ dZ d„Z
d„Zy)rzÄDescribe a CSV dialect.
This must be subclassed (see csv.excel). Valid attributes are:
delimiter, quotechar, escapechar, doublequote, skipinitialspace,
lineterminator, quoting.
ÚFNcóX—|jtk7rd|_|j«y)NT)Ú __class__rÚ_validÚ _validate©Úselfs ú?C:\Users\RCi\AppData\Local\Programs\Python\Python312\Lib\csv.pyÚ__init__zDialect.__init__-s€Ø �>‰>œWÒ $؈DŒKØ �‰Õócóf— t|«y#t$r}tt|««‚d}~wwxYw©N)Ú_DialectÚ TypeErrorrÚstr)r"Úes r#r zDialect._validate2s,€ð Ü �T�NøÜò 䜘A›“-Ð ûð ús‚ Ž 0—+«0)Ú__name__Ú
__module__Ú __qualname__rÚ_namerÚ delimiterÚ quotecharÚ
escapecharÚ doublequoteÚskipinitialspaceÚlineterminatorÚquotingr$r ©r%r#rrsA„ñð
€EØ
€Fà€IØ€IØ€JØ€KØÐØ€NØ€Gòó
 r%rcó(—eZdZdZdZdZdZdZdZe Z
y)rz;Describe the usual properties of Excel-generated CSV files.ú,ú"TFú
N) r,r-r.rr0r1r3r4r5r r6r7r%r#rr9s$„ÙEØ€IØ€IØ€KØÐØ€NØ�Gr%rcó—eZdZdZdZy)rzEDescribe the usual properties of Excel-generated TAB-delimited files.ú N)r,r-r.rr0r7r%r#rrCs
„ÙOØ�Ir%rz excel-tabcó(—eZdZdZdZdZdZdZdZe Z
y)rz:Describe the usual properties of Unix-generated CSV files.r9r:TFú
N) r,r-r.rr0r1r3r4r5r
r6r7r%r#rrHs$„ÙDØ€IØ€IØ€KØÐØ€NØ�Gr%rÚunixcó|—eZdZ dd„Zd„Zed„«Zejd„«Zd„Ze e
j«Z y)rNcó¨—|�t|«|ur t|«}||_||_||_t ||g|¢­i|¤Ž|_||_d|_y©Nr)ÚiterÚlistÚ _fieldnamesÚrestkeyÚrestvalrÚdialectÚline_num)r"ÚfÚ
fieldnamesrGrHrIÚargsÚkwdss r#r$zDictReader.__init__TsZ€à Ð !¤d¨:Ó&6¸*Ñ&DܘjÓ)ˆJØ%ˆÔ؈Œ ؈Œ ܘQ Ð7¨$Ò7°$Ñ7ˆŒ ؈Œ ؈�
r%có—|Sr'r7r!s r#Ú__iter__zDictReader.__iter___s€Øˆ r%có¼—|j€ t|j«|_|jj|_|jS#t$rYŒ2wxYwr')rFÚnextrÚ
StopIterationrJr!s r#rLzDictReader.fieldnamesbsW€à × Ñ Ð #ð
Ü#'¨¯ © Ó#4�Ô ðŸ ™ ×,Ñ,ˆŒ
Ø×ÑÐøô!ò
Ùð
úsŽAÁ AÁAcó—||_yr')rF)r"Úvalues r#rLzDictReader.fieldnamesls
€à ˆÕr%cóÜ—|jdk(r |jt|j«}|jj|_|gk(rt|j«}|gk(rŒt t |j|««}t
|j«}t
|«}||kr||d||j<|S||kDr#|j|dD]}|j||<Œ|SrC) rJrLrRrÚdictÚzipÚlenrGrH)r"ÚrowÚdÚlfÚlrÚkeys r#Ú__next__zDictReader.__next__psÖ€Ø �=‰=˜AÒ à �OŠOÜ�4—;‘;ӈ؟ ™ ×,Ñ,ˆŒ
ð
�RŠiÜ�t—{‘{Ó#ˆCð�R‹iä ”�T—_‘_ cÓ*Ó +ˆÜ
�—‘Ó
!ˆÜ
�‹XˆØ
�Š7Ø! " #˜hˆAˆd�l‰l‰Oðˆð�"ŠWØ—‘ r sÐ+ò
&�ØŸ™��#’ð
&àˆr%)NNNr)
r,r-r.r$rPÚpropertyrLÚsetterr_Ú classmethodÚtypesÚ GenericAliasÚ__class_getitem__r7r%r#rrSsX„ØAEØ ó òðñ óð ð×Ññ!óð!òñ,$ E×$6Ñ$6Ó7Ñr%rcóT—eZdZ dd„Zd„Zd„Zd„Zd„Zee j«Z y)rcóЗ|�t|«|ur t|«}||_||_|j «}|dvrt d|z«‚||_t||g|¢­i|¤Ž|_y)N)ÚraiseÚignorez-extrasaction (%s) must be 'raise' or 'ignore')rDrErLrHÚlowerÚ
ValueErrorÚ extrasactionr)r"rKrLrHrlrIrMrNs r#r$zDictWriter.__init__Šs{€à Ð !¤d¨:Ó&6¸*Ñ&DܘjÓ)ˆJØ$ˆŒØˆŒ Ø#×)Ñ)Ó+ˆ Ø Ð2Ñ 2ÜÐLØ+ñ,ó-ð
-à(ˆÔܘQ Ð7¨$Ò7°$Ñ7ˆ� r%cóv—tt|j|j««}|j|«Sr')rWrXrLÚwriterow)r"Úheaders r#Ú writeheaderzDictWriter.writeheader—s*€Ü”c˜$Ÿ/™/¨4¯?©?Ó;Ó<ˆØ�}‰}˜VÓ$Ð$r%c 󇇗‰jdk(rS‰j«‰jz
}|r4tddj |D�cgc]
}t |«‘Œc}«z«‚ˆˆfd„‰jD«Scc}w)Nrhz(dict contains fields not in fieldnames: z, c3óV•K—|] }‰j|‰j«–—Œ"y­wr')ÚgetrH)Ú.0r^Úrowdictr"s €€r#ú <genexpr>z+DictWriter._dict_to_list.<locals>.<genexpr>¡s øèø€ÒJ°3�— ‘ ˜C §¡×.ÑJùsƒ&))rlÚkeysrLrkÚjoinÚrepr)r"ruÚ wrong_fieldsÚxs`` r#Ú
_dict_to_listzDictWriter._dict_to_list›spù€Ø × Ñ  Ò 'Ø"Ÿ<™<›>¨D¯O©OÑ;ˆLÙÜ Ð!KØ#'§9¡9¸|Ö-L¸!¬d°1­gÒ-LÓ#Mñ"NóOðOäJ¸$¿/¹/ÔJÐJùò.MsÁA;cóV—|jj|j|««Sr')rrnr|)r"rus r#rnzDictWriter.writerow£s"€Ø�{‰{×#Ñ# D×$6Ñ$6°wÓ$?Ó@Ð@r%có`—|jjt|j|««Sr')rÚ writerowsÚmapr|)r"Úrowdictss r#rzDictWriter.writerows¦s$€Ø�{‰{×$Ñ$¤S¨×);Ñ);¸XÓ%FÓGÐGr%N)rrhr) r,r-r.r$rpr|rnrrbrcrdrer7r%r#rr‰s7„Ø?FØ ó 8ò%òKòAòHñ$ E×$6Ñ$6Ó7Ñr%rcó0—eZdZdZd„Zdd„Zd„Zd„Zd„Zy) rze
"Sniffs" the format of a CSV file (i.e. delimiter, quotechar)
Returns a Dialect object.
có—gd¢|_y)N)r9r=ú;ú ú:)Ú preferredr!s r#r$zSniffer.__init__±s €â3ˆ�r%NcóÚ—|j||«\}}}}|s|j||«\}}|s td«‚Gd„dt«}||_||_|xsd|_||_|S)zI
Returns a dialect (or None) corresponding to the sample
zCould not determine delimitercó—eZdZdZdZeZy)úSniffer.sniff.<locals>.dialectÚsniffedr;N)r,r-r.r/r5r r6r7r%r#rIrŠÄs„؈EØ#ˆNØ#‰Gr%rIr:)Ú_guess_quote_and_delimiterÚ_guess_delimiterrrr3r0r1r4)r"ÚsampleÚ
delimitersr1r3r0r4rIs r#Úsniffz
Sniffer.sniff¶sŠ€ð ×2Ñ2°6¸:ÓFñ <ˆ �;  Ð+;áØ*.×*?Ñ*?ÀØ@Jó+LÑ 'ˆIÐ'ñÜÐ7Ó8Ð 8ô $”gô $ð *ˆÔØ%ˆÔà%Ò,¨ˆÔØ#3ˆÔ àˆr%có,—g}dD]L}tj|tjtjz«}|j |«}|sŒLn|syi}i}d}j
} |D]k}
| ddz
} |
| } | r|j
| d«dz|| < | ddz
} |
| } | r|�| |vr|j
| d«dz|| < | ddz
} |
| sŒg|dz
}Œmt||j ¬«}
|r't||j ¬«}|||k(}|d k(rd
}nd
}d}tjd tj|«|
d œztj«}|j|«rd
}nd}|
|||fS#t$rY�ŒwxYw#t$rY�Œ'wxYw)a�
Looks for text enclosed between two identical quotes
(the probable quotechar) which are preceded and followed
by the same character (the probable delimiter).
For example:
,'some text',
The quote with the most wins, same with the delimiter.
If there is no quotechar the delimiter can't be determined
this way.
)zI(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?P=delim)zG(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?P<delim>[^\w\n"\'])(?P<space> ?)zG(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?:$|\n)z-(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?:$|\n))rFNrrÚquoteéÚdelimÚspace©r^r?rz]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$))r”r’TF) ÚreÚcompileÚDOTALLÚ MULTILINEÚfindallÚ
groupindexrsÚKeyErrorÚmaxÚescapeÚsearch)r"Údatar�ÚmatchesÚrestrÚregexpÚquotesÚdelimsÚspacesrœÚmÚnr^r1r”r4Ú dq_regexpr3s r#rŒz"Sniffer._guess_quote_and_delimiterÓsñ€ðˆðHò ˆEô—Z‘Z ¤r§y¡y´2·<±<Ñ'?Ó@ˆFØ—n‘n TÓ*ˆGÚÙð ñà'؈؈؈Ø×&Ñ&ˆ
Øò ˆAؘ7Ñ# aÑ'ˆAØ�A‘$ˆCÙØ$Ÿj™j¨¨aÓ0°1Ñ4��s‘ ð
ؘwÑ'¨!Ñ+�ؘ‘d�ñ˜
Ð*¨c°ZÑ.?Ø$Ÿj™j¨¨aÓ0°1Ñ4��s‘ ð