grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026U iÛf?ã@s<ddlZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZddlmZddlmZddddd d d d d ddddddddddddgZGdd „d ƒZGdd „d eƒZed eƒGdd „d eƒZedeƒGdd„deƒZedeƒGd d„dƒZGd!d„dƒZzeWnek �r(eZYnXGd"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)Ú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/python38/lib64/python3.8/csv.pyÚ__init__*s zDialect.__init__c Cs@z t|ƒWn.tk r:}ztt|ƒƒ‚W5d}~XYnXdS©N)Ú_DialectÚ TypeErrorrÚstr)rÚerrrr/s zDialect._validate)Ú__name__Ú __module__Ú __qualname__Ú_namerÚ delimiterÚ quotecharZ escapecharÚ doublequoteÚskipinitialspaceÚlineterminatorÚquotingr rrrrrrsc@s$eZdZdZdZdZdZdZeZ dS)rú,ú"TFú N) r&r'r(r*r+r,r-r.r r/rrrrr6s c@seZdZdZdS)rú N)r&r'r(r*rrrrr@sz excel-tabc@s$eZdZdZdZdZdZdZeZ dS)rr0r1TFÚ N) r&r'r(r*r+r,r-r.r r/rrrrrEs 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Ú fieldnamesr7r8r9ÚargsÚkwdsrrrr Qs zDictReader.__init__cCs|Sr!rrrrrÚ__iter__ZszDictReader.__iter__cCs@|jdkr0zt|jƒ|_Wntk r.YnX|jj|_|jSr!)r6ÚnextrÚ StopIterationr:rrrrr<]s  zDictReader.fieldnamescCs ||_dSr!)r6)rÚvaluerrrr<gscCs |jdkr|jt|jƒ}|jj|_|gkr8t|jƒ}q$tt|j|ƒƒ}t|jƒ}t|ƒ}||krv||d…||j<n&||krœ|j|d…D]}|j||<qŒ|Sr5) r:r<r@rÚdictÚzipÚlenr7r8)rÚrowÚdZlfZlrÚkeyrrrÚ__next__ks      zDictReader.__next__)NNNr) r&r'r(r r?Úpropertyr<ÚsetterrIrrrrrPsÿ   c@s6eZdZddd„Zdd„Zdd „Zd d „Zd d „ZdS)rrÚraisercOsB||_||_| ¡dkr$td|ƒ‚||_t||f|ž|Ž|_dS)N)rLÚignorez-extrasaction (%s) must be 'raise' or 'ignore')r<r8ÚlowerÚ ValueErrorÚ extrasactionr)rr;r<r8rPr9r=r>rrrr ƒs ÿzDictWriter.__init__cCstt|j|jƒƒ}| |¡Sr!)rCrDr<Úwriterow)rÚheaderrrrÚ writeheader�szDictWriter.writeheadercsNˆjdkr8ˆ ¡ˆj}|r8tdd dd„|Dƒ¡ƒ‚‡‡fdd„ˆjDƒS)NrLz(dict contains fields not in fieldnames: z, cSsg|] }t|ƒ‘qSr)Úrepr)Ú.0ÚxrrrÚ –sz,DictWriter._dict_to_list..c3s|]}ˆ |ˆj¡VqdSr!)Úgetr8)rUrH©ÚrowdictrrrÚ —sz+DictWriter._dict_to_list..)rPÚkeysr<rOÚjoin)rrZZ wrong_fieldsrrYrÚ _dict_to_list‘s ÿzDictWriter._dict_to_listcCs|j | |¡¡Sr!)rrQr^)rrZrrrrQ™szDictWriter.writerowcCs|j t|j|ƒ¡Sr!)rÚ writerowsÚmapr^)rZrowdictsrrrr_œszDictWriter.writerowsN)rrLr)r&r'r(r rSr^rQr_rrrrr‚sÿ c@s6eZdZdd„Zd dd„Zdd„Zdd „Zd d „ZdS) rcCsdddddg|_dS)Nr0r3ú;ú ú:)Ú preferredrrrrr ªszSniffer.__init__NcCsd| ||¡\}}}}|s(| ||¡\}}|s4tdƒ‚Gdd„dtƒ}||_||_|pVd|_||_|S)NzCould not determine delimiterc@seZdZdZdZeZdS)zSniffer.sniff..dialectZsniffedr2N)r&r'r(r)r.r r/rrrrr9½sr9r1)Ú_guess_quote_and_delimiterÚ_guess_delimiterrrr,r*r+r-)rÚsampleÚ delimitersr+r,r*r-r9rrrÚsniff¯s ÿ ÿ z Sniffer.sniffc Cs g}dD]*}t |tjtjB¡}| |¡}|rq4q|s[^\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©rHr4rz]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$))rlrjTF) ÚreÚcompileÚDOTALLÚ MULTILINEÚfindallÚ groupindexrXÚKeyErrorÚmaxÚescapeÚsearch)rÚdatarhZmatchesZrestrZregexpZquotesÚdelimsZspacesrsÚmÚnrHr+rlr-Z dq_regexpr,rrrreÌs`          ÿþ z"Sniffer._guess_quote_and_delimitercCsttd| d¡ƒƒ}dd„tdƒDƒ}tdt|ƒƒ}d}i}i}i}d|} } | t|ƒk�rR|d7}|| | …D]@} |D]6} | | i¡} |  | ¡}|  |d¡d| |<| || <qxqp| ¡D]ž} t||   ¡ƒ}t|ƒdkrì|dddkrìqºt|ƒdk�rLt |dd „d �|| <|  || ¡|| d|| dt d d „|Dƒƒf|| <qº|d|| <qº|  ¡}t t||t|ƒƒƒ}d }d}t|ƒdk�rþ||k�rþ|D]T\}}|ddk�rœ|ddk�rœ|d||k�rœ|dk�sæ||k�rœ|||<�qœ|d8}�q€t|ƒdk�rDt| ¡ƒd}|d |¡|d d|¡k}||fS| } | |7} qN|�s\dSt|ƒdk�r²|jD]@}|| ¡k�rp|d |¡|d d|¡k}||fS�qpdd„|  ¡Dƒ}| ¡|dd}|d |¡|d d|¡k}||fS)Nr4cSsg|] }t|ƒ‘qSr)Úchr)rUÚcrrrrW-sz,Sniffer._guess_delimiter..éé rrkcSs|dS)Nrkr)rVrrrÚGóz*Sniffer._guess_delimiter..rmcss|]}|dVqdS)rkNr)rUÚitemrrrr[Lsz+Sniffer._guess_delimiter..gð?gÍÌÌÌÌÌì?g{®Gáz„?z%c )rrcSsg|]\}}||f‘qSrr)rUÚkÚvrrrrWvséÿÿÿÿ)ÚlistÚfilterÚsplitÚrangeÚminrErXÚcountr\ÚitemsruÚremoveÚsumÚfloatrdÚsort)rrxrhÚasciiZ chunkLengthZ iterationZ charFrequencyZmodesryÚstartÚendÚlineÚcharZ metaFrequencyZfreqrŒZmodeListZtotalZ consistencyZ thresholdrƒr„rlr-rGrrrrfs‚     ÿ  ÿÿ   ÿ   ÿ  ÿzSniffer._guess_delimiterc Csˆtt|ƒ| |¡ƒ}t|ƒ}t|ƒ}i}t|ƒD] }d||<q0d}|D]¬}|dkrVqô|d7}t|ƒ|krlqFt| ¡ƒD]x} tt t fD]4} z| || ƒWqÈWq†t t fk r¸Yq†Xq†t|| ƒ} | || krx|| dkrê| || <qx|| =qxqFd} |  ¡D]~\} } t| ƒtdƒk�r@t|| ƒ| k�r6| d7} n| d8} nsH@  û   2