Your IP : 18.219.66.237


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/csv.cpython-36.opt-2.pyc

3


 \4?�@sHddlZddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZddlmZddlmZddlmZdddd	d
dd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)�StringIOrrr
rrrr�excel�	excel_tabr
rrrrr	�Snifferrr�
DictReader�
DictWriter�unix_dialectc@s@eZdZdZdZdZdZdZdZdZ	dZ
dZdd�Zdd�Z
dS)r�FNcCs|jtkrd|_|j�dS)NT)�	__class__r�_valid�	_validate)�self�r�/usr/lib64/python3.6/csv.py�__init__+s
zDialect.__init__cCs@yt|�Wn.tk
r:}ztt|���WYdd}~XnXdS)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-rr.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||_||_|j�dkr$td|��||_t||f|�|�|_dS)NrH�ignorez-extrasaction (%s) must be 'raise' or 'ignore')rHrI)r9r5�lower�
ValueError�extrasactionr)rr8r9r5rLr6r:r;rrrr �szDictWriter.__init__cCs tt|j|j��}|j|�dS)N)�dictr@r9�writerow)r�headerrrr�writeheader�szDictWriter.writeheadercsN�jdkr8�j��j}|r8tddjdd�|D������fdd��jD�S)NrHz(dict contains fields not in fieldnames: z, cSsg|]}t|��qSr)�repr)�.0�xrrr�
<listcomp>�sz,DictWriter._dict_to_list.<locals>.<listcomp>c3s|]}�j|�j�VqdS)N)�getr5)rRrD)�rowdictrrr�	<genexpr>�sz+DictWriter._dict_to_list.<locals>.<genexpr>)rL�keysr9rK�join)rrVZwrong_fieldsr)rVrr�
_dict_to_list�s
zDictWriter._dict_to_listcCs|jj|j|��S)N)rrNrZ)rrVrrrrN�szDictWriter.writerowcCs|jjt|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|j||�\}}}}|s(|j||�\}}|s4td��Gdd�dt�}||_||_|pVd|_||_|S)NzCould not determine delimiterc@seZdZdZdZeZdS)zSniffer.sniff.<locals>.dialectZsniffedz
N)r%r&r'r(r-rr.rrrrr6�sr6r0)�_guess_quote_and_delimiter�_guess_delimiterrrr+r)r*r,)r�sample�
delimitersr*r+r)r,r6rrr�sniff�s

z
Sniffer.sniffcCs�g}x0dD](}tj|tjtjB�}|j|�}|r
Pq
W|s>dSi}i}d}|j}	x�|D]�}
|	dd	}|
|}|r�|j|d�d	||<y|	d
d	}|
|}Wntk
r�wVYnX|r�|dks�||kr�|j|d�d	||<y|	dd	}Wntk
�rwVYnX|
|rV|d	7}qVWt||jd�}
|�rZt||jd�}|||k}|d
k�rbd}nd}d}tjdtj	|�|
d�tj�}|j
|��r�d}nd}|
|||fS)N�I(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?P=delim)�G(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?P<delim>[^\w\n"\'])(?P<space> ?)�G(?P<delim>[^\w\n"\'])(?P<space> ?)(?P<quote>["\']).*?(?P=quote)(?:$|\n)�-(?:^|\n)(?P<quote>["\']).*?(?P=quote)(?:$|\n)rFr�quote��delimZspace)rDr2z]((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$))rlrjT)rfrgrhri)rFNr)�re�compile�DOTALL�	MULTILINE�findall�
groupindexrU�KeyError�max�escape�search)r�datardZmatchesZrestrZregexpZquotes�delimsZspacesrr�m�nrDr*rlr,Z	dq_regexpr+rrrra�s`


z"Sniffer._guess_quote_and_delimitercCsttd|jd���}dd�td�D�}tdt|��}d}i}i}i}dt|t|��}	}
�x|	t|�k�rn|d7}xT||	|
�D]D}x>|D]6}|j|i�}
|j|�}|
j|d�d|
|<|
||<q�Wq�Wx�|j�D]�}t||j	��}t|�dk�r|dddk�rq�t|�dk�rht
|dd	�d
�||<|j||�||d||dtdd�|D��f||<q�|d||<q�W|j	�}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|j��d}|dj|�|djd|�k}||fS|
}	|
|7}
q\W|�szdSt|�dk�r�xF|jD]<}||j�k�r�|dj|�|djd|�k}||fS�q�Wdd�|j	�D�}|j�|dd}|dj|�|djd|�k}||fS)Nr2cSsg|]}t|��qSr)�chr)rR�crrrrT.sz,Sniffer._guess_delimiter.<locals>.<listcomp>��
rrkcSs|dS)Nrkr)rSrrr�<lambda>Hsz*Sniffer._guess_delimiter.<locals>.<lambda>)rDcss|]}|dVqdS)rkNr)rR�itemrrrrWMsz+Sniffer._guess_delimiter.<locals>.<genexpr>g�?g�������?g{�G�z�?z%c rcSsg|]\}}||f�qSrr)rR�k�vrrrrTws)rr���)�list�filter�split�range�minrArU�countrX�itemsrt�remove�sum�floatr`�sort)rrwrd�asciiZchunkLengthZ	iterationZ
charFrequencyZmodesrx�start�end�line�charZ
metaFrequencyZfreqr�ZmodeListZtotalZconsistencyZ	thresholdr�r�rlr,rCrrrrbst

 zSniffer._guess_delimiterc
Cs�tt|�|j|��}t|�}t|�}i}xt|�D]}d||<q2Wd}x�|D]�}|dkrZP|d7}t|�|krpqLx�t|j��D]x}	xJtt	t
gD]0}
y|
||	�PWq�ttfk
r�Yq�Xq�Wt||	�}
|
||	kr~||	dkr�|
||	<q~||	=q~WqLWd}x�|j
�D]~\}	}t|�td�k�rLt||	�|k�rB|d7}n|d8}n<y|||	�Wn"ttfk
�r~|d7}Yn
X|d8}�qW|dkS)Nr�rk)rrrer=rAr�r�rX�intr��complexrK�
OverflowErrorr��typer")
rrcZrdrrO�columnsZcolumnTypes�iZcheckedrB�colZthisTypeZ	hasHeaderZcolTyperrr�
has_header�sJ





zSniffer.has_header)N)r%r&r'r rerarbr�rrrrr�s

Lg) rmZ_csvrrrrrrrr	r
rrr
rrrr!�collectionsr�ior�__all__rrrrrr��	NameErrorr�rrrrr�<module>s0@



2