grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ½ì}˜îgBã@sHddlZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZddlmZddlmZddlmZdddd d d d d dddddddddddddgZGdd „d ƒZGdd „d eƒZed eƒGdd„deƒZedeƒGdd„deƒZed eƒGd!d„dƒZGd"d„dƒZyeWnek �r4eZYnXGd#d„dƒZdS)$éN)ÚErrorÚ __version__ÚwriterÚreaderÚregister_dialectÚunregister_dialectÚ get_dialectÚ list_dialectsÚfield_size_limitÚ QUOTE_MINIMALÚ QUOTE_ALLÚQUOTE_NONNUMERICÚ QUOTE_NONEÚ__doc__)ÚDialect)Ú OrderedDict)ÚStringIOr r r rrrrÚexcelÚ excel_tabr rrrrr ÚSnifferrrÚ DictReaderÚ DictWriterÚ unix_dialectc@s@eZdZdZdZdZdZdZdZdZ dZ dZ dd„Z dd„Z dS)rÚFNcCs|jtkrd|_| ¡dS)NT)Ú __class__rÚ_validÚ _validate)Úself©rú(/opt/alt/python37/lib64/python3.7/csv.pyÚ__init__+s zDialect.__init__c Cs@y t|ƒWn.tk r:}ztt|ƒƒ‚Wdd}~XYnXdS)N)Ú_DialectÚ TypeErrorrÚstr)rÚerrrr0s zDialect._validate)Ú__name__Ú __module__Ú __qualname__Ú_namerÚ delimiterÚ quotecharZ escapecharÚ doublequoteÚskipinitialspaceÚlineterminatorÚquotingr rrrrrrsc@s$eZdZdZdZdZdZdZeZ dS)rú,ú"TFz N) r%r&r'r)r*r+r,r-r r.rrrrr7s c@seZdZdZdS)rú N)r%r&r'r)rrrrrAsz excel-tabc@s$eZdZdZdZdZdZdZeZ dS)rr/r0TFÚ N) r%r&r'r)r*r+r,r-r r.rrrrrFs Zunixc@s@eZdZd dd„Zdd„Zedd„ƒZejd d„ƒZd d „ZdS) rNrcOs6||_||_||_t||f|ž|Ž|_||_d|_dS)Nr)Ú _fieldnamesÚrestkeyÚrestvalrÚdialectÚline_num)rÚfÚ fieldnamesr4r5r6ÚargsÚkwdsrrrr Rs zDictReader.__init__cCs|S)Nr)rrrrÚ__iter__[szDictReader.__iter__cCs@|jdkr0yt|jƒ|_Wntk r.YnX|jj|_|jS)N)r3ÚnextrÚ StopIterationr7)rrrrr9^s  zDictReader.fieldnamescCs ||_dS)N)r3)rÚvaluerrrr9hscCs¨|jdkr|jt|jƒ}|jj|_x|gkr:t|jƒ}q&Wtt|j|ƒƒ}t|jƒ}t|ƒ}||krz||d…||j<n*||kr¤x |j|d…D]}|j||<q’W|S)Nr) r7r9r=rrÚzipÚlenr4r5)rÚrowÚdZlfZlrÚkeyrrrÚ__next__ls     zDictReader.__next__)NNNr) r%r&r'r r<Úpropertyr9ÚsetterrErrrrrQs   c@s6eZdZddd„Zdd„Zdd „Zd d „Zd d „ZdS)rrÚraisercOsB||_||_| ¡dkr$td|ƒ‚||_t||f|ž|Ž|_dS)N)rHÚignorez-extrasaction (%s) must be 'raise' or 'ignore')r9r5ÚlowerÚ ValueErrorÚ extrasactionr)rr8r9r5rLr6r:r;rrrr „s zDictWriter.__init__cCs tt|j|jƒƒ}| |¡dS)N)Údictr@r9Úwriterow)rÚheaderrrrÚ writeheaderŽszDictWriter.writeheadercsNˆjdkr8ˆ ¡ˆj}|r8tdd dd„|Dƒ¡ƒ‚‡‡fdd„ˆjDƒS)NrHz(dict contains fields not in fieldnames: z, cSsg|] }t|ƒ‘qSr)Úrepr)Ú.0Úxrrrú —sz,DictWriter._dict_to_list..c3s|]}ˆ |ˆj¡VqdS)N)Úgetr5)rRrD)Úrowdictrrrú ˜sz+DictWriter._dict_to_list..)rLÚkeysr9rKÚjoin)rrVZ wrong_fieldsr)rVrrÚ _dict_to_list’s  zDictWriter._dict_to_listcCs|j | |¡¡S)N)rrNrZ)rrVrrrrNšszDictWriter.writerowcCs|j t|j|ƒ¡S)N)rÚ writerowsÚmaprZ)rZrowdictsrrrr[�szDictWriter.writerowsN)rrHr)r%r&r'r rPrZrNr[rrrrrƒs  c@s6eZdZdd„Zd dd„Zdd„Zdd „Zd d „ZdS) rcCsdddddg|_dS)Nr/r1ú;ú ú:)Ú preferred)rrrrr «szSniffer.__init__NcCsd| ||¡\}}}}|s(| ||¡\}}|s4tdƒ‚Gdd„dtƒ}||_||_|pVd|_||_|S)NzCould not determine delimiterc@seZdZdZdZeZdS)zSniffer.sniff..dialectZsniffedz N)r%r&r'r(r-r r.rrrrr6¾sr6r0)Ú_guess_quote_and_delimiterÚ_guess_delimiterrrr+r)r*r,)rÚsampleÚ delimitersr*r+r)r,r6rrrÚsniff°s  z Sniffer.sniffc Cs¢g}x0dD](}t |tjtjB¡}| |¡}|r Pq W|s>dSi}i}d}|j} xÊ|D]Â} | dd} | | } | r†| | d¡d|| <y| dd} | | } Wntk r´wVYnX| rÞ|dksÊ| |krÞ| | d¡d|| <y| dd} Wntk �rwVYnX| | rV|d7}qVWt||jd�} |�rZt||jd�}|||k}|d k�rbd }nd }d}t d t  |¡| d œtj¡}|  |¡�r’d }nd}| |||fS)N)zI(?P[^\w\n"\'])(?P ?)(?P["\']).*?(?P=quote)(?P=delim)zG(?:^|\n)(?P["\']).*?(?P=quote)(?P[^\w\n"\'])(?P ?)zG(?P[^\w\n"\'])(?P ?)(?P["\']).*?(?P=quote)(?:$|\n)z-(?:^|\n)(?P["\']).*?(?P=quote)(?:$|\n))rFNrrÚquoteéÚdelimZspace)rDr2rz]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$))rhrfTF) ÚreÚcompileÚDOTALLÚ MULTILINEÚfindallÚ groupindexrUÚKeyErrorÚmaxÚescapeÚsearch)rÚdatardÚmatchesZrestrZregexpZquotesÚdelimsZspacesrnÚmÚnrDr*rhr,Z dq_regexpr+rrrraÍsZ           z"Sniffer._guess_quote_and_delimitercCsttd| d¡ƒƒ}dd„tdƒDƒ}tdt|ƒƒ}d}i}i}i}d|} } �x| t|ƒk�rj|d7}xT|| | …D]D} x>|D]6} | | i¡} |  | ¡}|  |d¡d| |<| || <q€WqvWxª| ¡D]ž} t||   ¡ƒ}t|ƒdkrú|dddkrúqÈt|ƒdk�rZt |dd „d �|| <|  || ¡|| d|| dt d d „|Dƒƒf|| <qÈ|d|| <qÈW|  ¡}t t||t|ƒƒƒ}d }d}x„t|ƒdk�r||k�rx\|D]T\}}|ddk�r°|ddk�r°|d||k�r°|dk�sú||k�r°|||<�q°W|d8}�q’Wt|ƒdk�r\t| ¡ƒd}|d |¡|d d|¡k}||fS| } | |7} qRW|�svdSt|ƒdk�rÌxF|jD]<}|| ¡k�rŒ|d |¡|d d|¡k}||fS�qŒWdd„|  ¡Dƒ}| ¡|dd}|d |¡|d d|¡k}||fS)Nr2cSsg|] }t|ƒ‘qSr)Úchr)rRÚcrrrrT.sz,Sniffer._guess_delimiter..éé rrgcSs|dS)Nrgr)rSrrrÚHóz*Sniffer._guess_delimiter..)rDcss|]}|dVqdS)rgNr)rRÚitemrrrrWMsz+Sniffer._guess_delimiter..gð?gÍÌÌÌÌÌì?g{®Gáz„?z%c )rrcSsg|]\}}||f‘qSrr)rRÚkÚvrrrrTwséÿÿÿÿ)ÚlistÚfilterÚsplitÚrangeÚminrArUÚcountrXÚitemsrpÚremoveÚsumÚfloatr`Úsort)rrsrdÚasciiZ chunkLengthZ iterationZ charFrequencyZmodesruÚstartÚendÚlineÚcharZ metaFrequencyZfreqrˆZmodeListZtotalZ consistencyZ thresholdrr€rhr,rCrrrrbst          zSniffer._guess_delimiterc Cs–tt|ƒ| |¡ƒ}t|ƒ}t|ƒ}i}xt|ƒD] }d||<q2Wd}x¶|D]®}|dkrZP|d7}t|ƒ|krpqLxˆt| ¡ƒD]x} xJtt t gD]0} y| || ƒPWqŽt t fk r¼YqŽXqŽWt|| ƒ} | || kr~|| dkrð| || <q~|| =q~WqLWd} xŠ|  ¡D]~\} } t| ƒtdƒk�rLt|| ƒ| k�rB| d7} n| d8} ns0@       2