403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/io/excel/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/io/excel/__pycache__/test_readers.cpython-312.pyc
�

0	�g���$�ddlmZddlmZmZddlmZddlmZddlZddl	m
Z
ddlZddlZddl
mZddlmZddlZddlZdd	lmZdd
lmZddlmcmZddlZddlmZmZm Z m!Z!m"Z"ddl#m$Z%ddl&m'Z'm(Z(e�rejRjTZ+gd
�Z,ejZdej\d�g��ejZdej\d�g��ejZdej\d�g��ejZdej\d���ejZdej\d���ejZdej\d���gZ/d#d�Z0d�Z1ejde/D��cgc]}e,D]}e0||�r	e1||����c}}e3��d��Z4ejdd��Z5ejdd��Z6ejdd��Z7d$d�Z8d%d�Z9d�Z:Gd�d �Z;Gd!�d"�Z<ycc}}w)&�)�annotations)�datetime�time)�partial)�BytesION)�Path)�URLError)�
BadZipFile)�using_pyarrow_string_dtype)�is_platform_windows)�	DataFrame�Index�
MultiIndex�Series�read_csv)�ArrowStringArray�StringArray)�.xls�.xlsx�.xlsm�.xlsb�.ods�xlrd��marks�openpyxl�pyxlsb�odf�calamine�python_calaminec��|jd}|dk(r|dk(ry|dk(r|dk7ry|dk(r|dvry|dk(r|d	k7ry|d	k(r|d
vry|dk(r|dk7ryy)
zm
    Filter out invalid (engine, ext) pairs instead of skipping, as that
    produces 500+ pytest.skips.
    rrrFrr>rrrr>rrrT)�values)�engine�read_exts  �DC:\Python312\Lib\site-packages\pandas/tests/io/excel/test_readers.py�_is_valid_engine_ext_pairr&Fs���
�]�]�1�
�F�
����F� 2��
���8�v�-���6��f�,?�?��
���h�'�1���7��v�-C�C��
���H��.���c�h�|j|fz}tj||j��}|S)z�
    engine gives us a pytest.param object with some marks, read_ext is just
    a string.  We need to generate a new pytest.param inheriting the marks.
    r)r"�pytest�paramr)r#r$r"�	new_params    r%�_transfer_marksr,[s.��
�]�]�h�[�
(�F����V�6�<�<�8�I��r')�params�idsc��|jS)zS
    Fixture for Excel reader engine and read_ext, only including valid pairs.
    )r*)�requests r%�engine_and_read_extr1es���=�=�r'c��|\}}|S�N��r1r#r$s   r%r#r#us��*��F�H��Mr'c��|\}}|Sr3r4r5s   r%r$r${s��*��F�H��Or'c�:�|dddd�}t|ddd��}|S)	zI
    Obtain the reference data from read_csv with the Python engine.
    �io�data�csvz	test1.csvrT�python)�	index_col�parse_datesr#)r)�datapath�filepath�df_refs   r%r@r@�s)��
��f�e�[�9�H�
�h�!��h�
O�F��Mr'c��y)N�nsr4)r$r#s  r%�get_exp_unitrC�s��r'c�~�d|j_t||�}|jj|�|_yr3)�index�namerC�as_unit)�expectedr$r#�units    r%�adjust_expectedrJ�s0���H�N�N����&�)�D��^�^�+�+�D�1�H�Nr'c�n�|dk(r0|jtjjd���yy)Nrz3Sheets containing datetimes not supported by pyxlsb��reason)�applymarkerr)�mark�xfail)r#r0s  r%�xfail_datetimes_with_pyxlsbrQ�s7��
�������K�K���L�
�
�	
�r'c���eZdZejd��d��Zd�Zd�Zd�Zd�Z	d�Z
ejjd	gd
�gd�gd�gd
�gd�gd�g�d��Z
ejjd	ddgddgg�d��Zd�Zd�Zd�Zd�Zd�Zd�Zejjdddg�d��Zd�Zd�Zd �Zd!�Zd"�Zd#�Zd$�Zd%�Zejjd&degd'�gd(�gd'�d)d*ej@d+gd,��fd-d.e!e!d,�ee"gd'�d-�/�e"gd(�d.�/�e"gd0�e#�/�e"d1d2ej@d3ge#�/�d,��fg�d4��Z$d5�Z%d6�Z&ejjOe(�d7�8�d9��Z)ejjd:id;fd<d=id;fg�d>��Z*d?�Z+ejjd@dAedBdCgi�fdDedEg�F�fg�dG��Z,dH�Z-dI�Z.dJ�Z/dK�Z0dL�Z1dM�Z2ejjgdN�dO��Z4dP�Z5dQ�Z6dR�Z7ejjdSdTdUdTgdTdUgdVdWdVgdVdWgg�dX��Z8dY�Z9dZ�Z:ejjvejjxd[���Z=e>j~ejjxd\���Z@ejjxd]��ZAejj�d^��ZCd_�ZDe>j�d`�da��ZFdb�ZGdc�ZHdd�ZIejjdedfej@dgdhdggfdiej@gdjzfg�dk��ZJdl�ZKdm�ZLdn�ZMdo�ZNdp�ZOdq�ZPdr�ZQds�ZRejjdtdudvdUd;gdUdfdudwddUd;gdfdudxdUd;gdUd;gdfdudydUd;gdUdfdzd{dddUdgfdzd{ddd|�fg�d}��ZSd~�ZTd�ZUd��ZVd��ZWd��ZXd��ZYd��ZZd��Z[y)��TestReadersT��autousec��ttj|��}|j|ddd��|j	td|�y)zG
        Change directory and set engine for read_excel calls.
        �r#r8r9�excel�
read_excelN)r�pdrY�chdir�setattr��selfr#r>�monkeypatch�funcs     r%�cd_and_set_enginezTestReaders.cd_and_set_engine�s=��
�r�}�}�V�4�����(�4���9�:����B��d�3r'c��d�}|jtjd|�dddddd�}td|zd	�5}tj|�}ddd�|�|}n||d
d}|k(sJ�y#1swY�xYw)Nc��|jSr3rW)r^�args�kwargss   r%�parserz,TestReaders.test_engine_used.<locals>.parser�s���;�;�r'�parserrrr��xlsx�xlsm�xlsb�xls�ods�test1�rb�)r\rZ�	ExcelFile�openrY)	r^r$r#r_rf�expected_defaults�f�resultrHs	         r%�test_engine_usedzTestReaders.test_engine_used�s���	�	���B�L�L�'�6�:������
���'�H�$�d�
+�	&�q��]�]�1�%�F�	&����H�(��!�"��6�H���!�!�!�	&�	&�s�A/�/A8c
�f�ddiddiddiddiddid�}|dvrtjd�}n0|d	k(rtjd
�}ntjd�}|�Gtjt|��5tjd
|zdd||dd��ddd�yy#1swYyxYw)N�foo�abcd�{�TrueTrh>rrz8open_workbook() got an unexpected keyword argument 'foo'rz/load() got an unexpected keyword argument 'foo'z8load_workbook() got an unexpected keyword argument 'foo'��matchrn�Sheet1rrp)�
sheet_namer<�
engine_kwargs)�re�escaper)�raises�	TypeErrorrZrY)r^r$r#rs�msgs     r%�test_engine_kwargszTestReaders.test_engine_kwargs�s����F�O��C�L��F�O��4�=��6�?�
���'�'��)�)�W�X�C�
�u�_��)�)�N�O�C��)�)�W�X�C������y��4�
��
�
��h�&�'��"3�H�Q�R�L�"A�	�
�
��
�
�s�:#B'�'B0c�<�d}tjt|��5tjd|zddd��ddd�tjt|��5tjd|zdd	gdd�
�ddd�y#1swY�LxYw#1swYyxYw)Nz Passing an integer for `usecols`r|rnr~r��rr<�usecols�Sheet2rp�r�skiprowsr<r��r)r��
ValueErrorrZrY�r^r$r�s   r%�test_usecols_intzTestReaders.test_usecols_int�s���0��
�]�]�:�S�
1�	��M�M��(�"�x�1�a�
�	��]�]�:�S�
1�	��M�M��(�"�#�����
�	�	�
	�	��	�	�s�B�B�B�Bc��t||�|ddg}t|||�tjd|zddgd���}tjd|zdd	gdgd��
�}t	j
||�t	j
||�y)N�B�Crnr~r)r�r�r�r�rpr��rQrJrZrY�tm�assert_frame_equal)r^r0r#r$r@rH�df1�df2s        r%�test_usecols_listzTestReaders.test_usecols_list�s���#�F�G�4��3��*�%����(�F�3��m�m��h��8�q�)�
���m�m��h����S���
��	���c�8�,�
���c�8�,r'c���t||�|gd�}t|||�tjd|zddd��}tjd|zddgdd�	�}t	j
||�t	j
||�|d
dg}t|||�tjd|zddd��}tjd|zddgdd�	�}t	j
||�t	j
||�tjd|zddd
��}tjd|zddgdd
�	�}t	j
||�t	j
||�y)N��Ar�r�rnr~rzA:Dr�r�rpr�r�r�zA,C,DzA,C:Dr�)r^r0r#r$r@rHr��df3s        r%�test_usecols_strzTestReaders.test_usecols_strsh��#�F�G�4��/�*����(�F�3��m�m��h��8�q�%�
���m�m��h����S���
��	���c�8�,�
���c�8�,��3��*�%����(�F�3��m�m��h��8�q�'�
���m�m��h����S���
��	���c�8�,�
���c�8�,��m�m��h��8�q�'�
���m�m��h����S���
��	���c�8�,�
���c�8�,r'r�)rrpr�)rr�rp)rprr�)rpr�r)r�rrp)r�rprc��t||�|ddg}t|||�tjd|zdd|��}t	j
||�y)Nr�r�rnr~rr�r�)r^r0r#r$r�r@rHrus        r%�.test_usecols_diff_positional_int_columns_orderz:TestReaders.test_usecols_diff_positional_int_columns_order5sV��	$�F�G�4��3��*�%����(�F�3�����h��8�q�'�
��	���f�h�/r'r��Dc��|ddg}tt|��|_tjd|zd|��}tj||�y)Nr�r�rnr~�rr�)�range�lenrErZrYr�r�)r^r$r�r@rHrus      r%�.test_usecols_diff_positional_str_columns_orderz:TestReaders.test_usecols_diff_positional_str_columns_orderEsH���3��*�%���s�8�}�-������w��1�h�PW�X��
���f�h�/r'c��t||�|}t|||�tjd|zdd��}t	j
||�y�Nrnr~r�rr<r��r^r0r#r$r@rHrus       r%�test_read_excel_without_slicingz+TestReaders.test_read_excel_without_slicingMsE��#�F�G�4�����(�F�3����w��1�h�RS�T��
���f�h�/r'c��t||�|ddg}t|||�tjd|zddd��}t	j
||�y)Nr�r�rnr~rzA,D:Er�r�r�s       r%�test_usecols_excel_range_strz(TestReaders.test_usecols_excel_range_strVsT��#�F�G�4��3��*�%����(�F�3�����h��8�q�'�
��	���f�h�/r'c��d}tjt|��5tjd|zdd��ddd�y#1swYyxYw)NzInvalid column name: E1r|rnr~zD:E1r�r�r�s   r%�$test_usecols_excel_range_str_invalidz0TestReaders.test_usecols_excel_range_str_invalidasC��'��
�]�]�:�S�
1�	S��M�M�'�H�,��6�R�	S�	S�	S���A�Ac��d}tjt|��5tjd|zddgddg��ddd�y#1swYyxYw)Nz(list indices must be integers.*, not strr|rnr~r�r�r��r)r�r�rZrYr�s   r%�test_index_col_label_errorz&TestReaders.test_index_col_label_errorgsM��8��
�]�]�9�C�
0�	��M�M��(�"�#��%��c�
�	
�	�	�	�s� A�Ac��tjd|zdd��}tgd�tgd����}t	j
||�y)Nrn�Sheet3r�r�)r�r�r��E�F�rF��columnsrE)rZrYr
rr�r��r^r$rurHs    r%�test_index_col_strzTestReaders.test_index_col_strrsB�����w��1�h�RU�V���-�U�2�C�5H�
��	���f�h�/r'c	��tjd|zdgd���}tgd�tggdzggdzgd�����}t	j
||�y)	Nrnr�r�r�)r�r�r�r���levels�codes�namesr�)rZrYr
rr�r�r�s    r%�test_index_col_emptyz TestReaders.test_index_col_emptyzsU������h��8��
���#��R�D�1�H�R�D�1�H�O�T�
��	���f�h�/r'r<Nr�c���tjd|zd|��}tgd�gd�ggd���}|r|j|j|�}tj||�y)Nrn�Sheet4r�)�i1�a�x)�i2�b�y)z
Unnamed: 0�col1�col2�r�)rZrYr
�	set_indexr�r�r�)r^r$r<rurHs     r%�test_index_col_with_unnamedz'TestReaders.test_index_col_with_unnamed�sf������h��8�y�
���
�/�0�:X�
����)�)�(�*:�*:�9�*E�F�H�
���f�h�/r'c��d}tjt|��5tjd|zdg��ddd�y#1swYyxYw)NzEUsecols do not match columns, columns expected but not found: \['E'\]r|rnr��r�r�r�s   r%�%test_usecols_pass_non_existent_columnz1TestReaders.test_usecols_pass_non_existent_column�sF��
�	��]�]�:�S�
1�	=��M�M�'�H�,�s�e�<�	=�	=�	=�r�c��d}tjt|��5tjd|zddg��ddd�y#1swYyxYw)Nz['usecols' must either be list-like of all strings, all unicode, all integers or a callable.r|rn�E1rr�r�r�s   r%�test_usecols_wrong_typez#TestReaders.test_usecols_wrong_type�sM��
D�	�
�]�]�:�S�
1�	A��M�M�'�H�,�t�Q�i�@�	A�	A�	A�s�A�A
c��tjd|zd��}tddggddg��}tj||�y)	N�test2r~�r�aaaa�bbbbb�Test�Test1r��rZrYr
r�r�)r^r$�parsedrHs    r%�test_excel_stop_iteratorz$TestReaders.test_excel_stop_iterator�s@�����w��1�h�G���v�w�/�0�6�7�:K�L��
���f�h�/r'c�*�t||�|dk(r4|dk(r/|jtjj	d���tjd|zd��}ttjggdg�	�}tj||�y)
Nrrz+Calamine can't extract error from ods filesrL�test3r~r�r�r�)rQrNr)rOrPrZrYr
�np�nanr�r�)r^r0r#r$r�rHs      r%�test_excel_cell_error_naz$TestReaders.test_excel_cell_error_na�s~��#�F�G�4��Z��H��$6�������!�!�)V�!�W�
����w��1�h�G���r�v�v�h�Z�&��:��
���f�h�/r'c��t||�|}t|||�tjd|zdd��}tjd|zddgd��}t	j
||�t	j
||�tjd|zddd��}t	j
||jdd	�y)
Nrnr~rr�r�rp�rr�r<�rr<�
skipfooter���)rQrJrZrYr�r��iloc)	r^r0r#r$r@rHr�r�r�s	         r%�test_excel_tablezTestReaders.test_excel_table�s���#�F�G�4�����(�F�3��m�m�G�h�.�8�q�Q���m�m��h��8�q�c�Q�
��	���c�8�,�
���c�8�,��m�m��h��8�q�Q�
��	���c�3�8�8�C�R�=�1r'c��t||�t||�}tjgd�gd�gd�gd�gd�t	tddd�tddd	�td
dd�tddd
�tddd
�gd|�d���d��}d}t
j||zd��}tj||�|j�}d|j|jddf<t
j||zd��}tj||�t|j�D]G\}	}
t
j||zd|	��}|j|
�}tj||��I|dj!t"�|d<t
j||zddt"i��}tj||�y)N)rpr�����r)g�?g@gH�z�G�?g���Q��?g��&�.>)TFTTF)rpr�r�r��)r�r��c�d�ei��
��iqrp��i�r��M8[�]��dtype)�IntCol�FloatCol�BoolCol�StrCol�Str2Col�DateCol�
test_typesr~r�g@rr�r�r�
converters)rQrCr
�	from_dictrrrZrYr�r��copy�locrE�	enumerater�r��apply�str)r^r0r#r$rIrH�basename�actual�float_expected�icolrF�exps            r%�test_reader_special_dtypesz&TestReaders.test_reader_special_dtypes�s���#�F�G�4��H�f�-���&�&�*�B�;�)�2� � ��r�2�.� ��r�2�.� ��q�!�,� ��r�2�.� ��q�"�-�� ��v�Q�-�	�

�
��& �����x�(�2�x�H��
���f�h�/�"�����AD����>�/�/��2�I�=�>����x�(�2�x�H��
���f�n�5�$�H�$4�$4�5�	/�J�D�$��]�]��8�#��D��F��$�$�T�*�C��!�!�&�#�.�	/�&�h�/�5�5�c�:��������x��H�(�C��
��	���f�h�/r'c
��d}tjgd�dtjdddggd�dtjd	d
dgd��}d
�d�d�d�d�}t	j
||zd|��}t
j||�y)N�test_converters)rpr�r�����rg)@g�����L2@g3333333@g:�0�y5>)�Foundrr�	Not foundr�1�3�4�5)r�r�rrc�&�|dk7rt|�SdS)N�r)�int�r�s r%�<lambda>z4TestReaders.test_reader_converters.<locals>.<lambda>
s��!�r�'��A���u�r'c�0�|rd|zStjS)Nr�)r�r�rs r%r z4TestReaders.test_reader_converters.<locals>.<lambda>s��A�"�q�&��2�6�6�r'c��|dk7rdSdS)Nrrrr4rs r%r z4TestReaders.test_reader_converters.<locals>.<lambda>s��A��G����r'c� �|rt|�SdS)Nr)rrs r%r z4TestReaders.test_reader_converters.<locals>.<lambda>
s��1��Q���"�r')r�r�r�r�r~r)r
rr�r�rZrYr�r�)r^r$r
rHrrs      r%�test_reader_convertersz"TestReaders.test_reader_converters�s���$���&�&�.�!�2�6�6�4��{�C�L������S�#�6�	
�
��=�9�<�,�	
�
�����x��H��
��	���f�h�/r'c	�H�d}tj||z�}tgd�gd�gd�ddtjdgd��}tj||�tj||zdd	td
���}|djd�|d<|d
jd	�|d
<tgd�t��|d<tj||�d}tjt|��5tj||zddi��ddd�y#1swYyxYw)N�	testdtype�rpr�r�r���@�@�@�@��?�@�@�r�r�r�r��float64�float32)r�r�r�r�r�r���001�002�003�004r�z(Unable to convert column d to type int64r|r��int64)rZrYr
r�r�r�r�r�astyper�objectr)r�r�)r^r$r
rrHr�s      r%�test_reader_dtypezTestReaders.test_reader_dtypes	�������x�(�2�3���!�)�!��3�����,�	
�
��	���f�h�/�����x��Y�Y�S�'Q�
��!��
�,�,�Y�7���
� ��
�,�,�Y�7���
��;�6�J���
�
���f�h�/�8��
�]�]�:�S�
1�	E��M�M�(�X�-�c�7�^�D�	E�	E�	E�s�2D�D!zdtype,expectedr'r(r-r.r/r0r1r2r�r3r�2rc�h�d}tj||z|��}tj||�y)Nr&r��rZrYr�r�)r^r$r�rHr
rs      r%�test_reader_dtype_strz!TestReaders.test_reader_dtype_str4s.��:�����x�(�2�%�@��
���f�h�/r'c���|dvrtjd|�d��ttddgd��tdd	gd
��tddgd
��tddgd��ttj
dgd��ttj
dgd
��ttj
dgd
��ttj
dgd��tt	jd�gdz�ttj
tj
gd��d�
�}tj|�5}|j|dd��t	j|d|��}ddd�|dk(r�ddl}ddlm
}t|jD�	cic]}	|	||j||	d�����!c}	�}
||
djj j#|j%d����|
d<||jddg��|
d <n)|}
t'||�}|
dj)d!|�d"��|
d<tj*|
�y#1swY��xYwcc}	w)#N�rr�No engine for filetype: '�'rpr��Int64r�r)r+�Float64TF�booleanr�r��string�g@z
2019-12-31r�)
r�r�r�r�r�rt�g�h�i�j�test�rrE�r�
dtype_backend�pyarrowr)�ArrowExtensionArray)�from_pandasrK�us)rIrLr�r�)r)�skipr
rrZ�NA�	Timestampr��ensure_clean�to_excelrYrQ�
pandas.arraysrRr��array�	_pa_array�cast�	timestamprCr9r�)r^r$rPr#�df�	file_pathru�parR�colrHrIs            r%�test_dtype_backendzTestReaders.test_dtype_backendVs���(�(��K�K�3�H�:�Q�?�@�
��Q��F�'�2��S�#�J�i�8��T�5�M��;��S�#�J�h�7��R�U�U�A�J�g�6��R�U�U�C�L�	�:��R�U�U�D�M��;��R�U�U�C�L��9��R�\�\�,�7�8�1�<�=��R�U�U�B�E�E�N�'�:�
�

���_�_�X�
&�	�)��K�K�	�f�E�K�B��]�]��f�M��F�	�
�I�%� �9� � "�z�z����,�R�X�X�b��g�4�X�-P�Q�Q���H�0���
�#�#�-�-�2�2�2�<�<�T�<�3J�K��H�S�M�0����$���0F�G�H�S�M��H���&�1�D�$�S�M�0�0�3�t�f�A��?�H�S�M�
���f�h�/�7	�	��s�2-I�	$I�Ic�t�|dvrtjd|�d��ttjdgdtjgd��}tj|�5}|j|dd�	�tj|dd
d��}ddd�tj|�y#1swY� xYw)
NrArBrCr-r)�r�r�rMFrN�numpy_nullabler1)rrPr�)r)rUr
r�r�r�rXrYrZrYr�)r^r$r_r`rus     r%�test_dtype_backend_and_dtypez(TestReaders.test_dtype_backend_and_dtype�s����(�(��K�K�3�H�:�Q�?�@�
�b�f�f�c�]�#�r�v�v��?�
@��
�_�_�X�
&�	�)��K�K�	�f�E�K�B��]�]��!�.��	�F�	�	���f�b�)�	�	�s�!.B.�.B7zinfer_string takes precedencerLc
���|dvrtjd|�d��tjd�}tjd|�5tt
jddgtj��t
jd	tjgtj��d
��}tj|�5}|j|dd�
�tj|dd��}ddd�|dk(ryttt
jddgtj���tt
jd	tjgtj���d
��}nBtt|jddg��t|jd	dg��d
��}tj |�ddd�y#1swY��xYw#1swYyxYw)NrArBrCrQzmode.string_storager�r�r�r�rerMFrNrfrOr;)r)rU�importorskiprZ�option_contextr
r�r[�object_rVr�rXrYrYrrr�)r^r$�string_storagerar_r`rurHs        r%�test_dtype_backend_stringz%TestReaders.test_dtype_backend_string�s���
�(�(��K�K�3�H�:�Q�?�@�
�
 �
 ��
+��
�
�
�4�n�
E�	4�����3��*�B�J�J�?����3����,�b�j�j�A���B�����*�
�i����I�&���F�����&�@P���
���)�$�(����3��*�B�J�J�)O�P�(����3����,�b�j�j�)Q�R����%�-�b�h�h��S�z�.B�C�-�b�h�h��T�{�.C�D����
�!�!�&�(�3�7	4�	4�
�
��	4�	4�s&�	A<G%�-G�2CG%�G"	�G%�%G.zdtypes, exp_valuerp�a.1r8c��d}dti|�}|j�}tj||z|��}t	tdgt��t|g|stnd��d��}||k(sJd��t
j||�y)N�df_mangle_dup_col_dtypesr�r�rp)r�rnzdtype dict changed)r:rrZrYr
rr�r�)	r^r$�dtypes�	exp_valuer
�
dtype_dict�dtype_dict_copyrurHs	         r%�test_dtype_mangle_dup_colsz&TestReaders.test_dtype_mangle_dup_cols�s���.���6�,�V�,�
�$�/�/�+�����x�(�2�*�E����Q�C�v�.��y�k�v��4�P�
�
���_�,�B�.B�B�,�
���f�h�/r'c��d}tj||z�}tdgd�i�}tj||�y)N�test_spaces�testcol)z
this is greatz4    spacesz1 trailing z
 1 leadingz2  spaces  multiple  timesr�)r^r$r
rrHs     r%�test_reader_spaceszTestReaders.test_reader_spaces�sC�� �����x�(�2�3�����
�

��	���f�h�/r'zbasename,expectedzgh-35802�COLUMNzTest (1)zgh-36122z
got 2nd sar�c��|dk7rtjd|���tj||z�}t	j
||�y)NrzSkipped for engine: )r)rUrZrYr�r�)r^r#r$r
rHrs      r%�test_read_excel_ods_nested_xmlz*TestReaders.test_read_excel_ods_nested_xml�sB���U�?��K�K�.�v�h�7�8����x�(�2�3��
���f�h�/r'c���d}tj||zd��}gd�}tj||j	��|t|j	��k(sJ�y)N�test_multisheetr�)�Charlie�Alpha�Beta)rZrYr��assert_contains_all�keys�list�r^r$r
�dfs�
expected_keyss     r%�test_reading_all_sheetsz#TestReaders.test_reading_all_sheets�sT��%���m�m�H�x�/�D�A��4�
�
���}�c�h�h�j�9���S�X�X�Z� 0�0�0�0r'c��d}gd�}tj||z|��}tt|��}t	j
||j
��t|�t|j
��k(sJ�y)Nr~)r�rrr�)rZrYr��setr�r�r�r�)r^r$r
r�r�s     r%�%test_reading_multiple_specific_sheetsz1TestReaders.test_reading_multiple_specific_sheets�se��%��1�
��m�m�H�x�/�M�J���S��/�0�
�
���}�c�h�h�j�9��=�!�S�����_�4�4�4r'c��d}tj||zd��}gd�}tj||j	��y)N�blank_with_headerr�)r~r�r�)rZrYr�r�r�r�s     r%�"test_reading_all_sheets_with_blankz.TestReaders.test_reading_all_sheets_with_blanks9��'���m�m�H�x�/�D�A��6�
�
���}�c�h�h�j�9r'c�t�tjd|zd��}tj|t	��y)N�blankr~r�)rZrYr�r�r
)r^r$rs   r%�test_read_excel_blankz!TestReaders.test_read_excel_blanks)�����w��1�h�G��
���f�i�k�2r'c��tddg��}tjd|zd��}tj||�y)N�col_1�col_2r�r�r~r�)r
rZrYr�r�)r^r$rHrs    r%�!test_read_excel_blank_with_headerz-TestReaders.test_read_excel_blank_with_headers7���g�w�%7�8�����2�X�=�(�S��
���f�h�/r'c�4�tjtd��5tjd|zdgd��ddd�tjt
d��5tjd|zd�d��ddd�y#1swY�JxYw#1swYyxYw)	Nz \(sheet: Sheet1\)$r|r�rp)�headerrrnc��ddzS)Nrprr4rs r%r zHTestReaders.test_exception_message_includes_sheet_name.<locals>.<lambda>#s
���A��r')r�r)r)r�r�rZrY�ZeroDivisionError�r^r$s  r%�*test_exception_message_includes_sheet_namez6TestReaders.test_exception_message_includes_sheet_names���
�]�]�:�-C�
D�	W��M�M�-��8�!��QU�V�	W�
�]�]�,�4J�
K�	X��M�M�'�H�,�o�RV�W�	X�	X�	W�	W��	X�	X�s�B�B�B�Bz-ignore:Cell A4 is marked:UserWarning:openpyxlc���t||�ttjd�dgtjd�dgddggddg�	�}|d
k(r/|j	t
jjd���|�3|d
vr/|j	t
jjd���tjd|z�}tj||�y)Nz
2016-03-12zMarc Johnsonz
2016-03-16z
Jack Blackg@��x�Dz
Timothy Brown�DateColWithBigInt�	StringColr�rzMaybe not supported by openpyxlrL)rrz)Defaults to openpyxl, maybe not supported�testdateoverflow)rQr
rZrWrNr)rOrPrYr�r�)r^r0r#r$rHrus      r%�test_date_conversion_overflowz)TestReaders.test_date_conversion_overflow%s���	$�F�G�4�����l�+�^�<����l�+�\�:���'�
�
)�+�6�

���Z��������!�!�)J�!�K�
��>�h�*<�<�������!�!�)T�!�U�
����1�H�<�=��
���f�h�/r'c��t||�d}d}|}t|||�tj||z|d��}tj||zd|��}	t	j
||�t	j
|	|�y�Nrnr~rr�)r<rr�)
r^r0r$r#r@�filenamerrHr�r�s
          r%�test_sheet_namezTestReaders.test_sheet_nameAsz��#�F�G�4����
�����(�F�3��m�m��x��J�!�
���m�m�H�x�/�1��T��
���c�8�,�
���c�8�,r'c���d|z}tj|dd��}t|d�5}tj|dd��}tj||�ddd�y#1swYyxYw)Nrnr~rr�ro)rZrYrrr�r�)r^r$�pthrHrtrs      r%�test_excel_read_bufferz"TestReaders.test_excel_read_bufferRs`���� ���=�=���Q�G��
�#�t�_�	4���]�]�1��Q�G�F��!�!�(�F�3�	4�	4�	4�s�/A"�"A+c��d}tjtd��5tjd|��ddd�y#1swYyxYw)NrxzUnknown engine: foor|rrWr�)r^�
bad_engines  r%�test_bad_engine_raisesz"TestReaders.test_bad_engine_raisesYs9���
�
�]�]�:�-B�
C�	1��M�M�"�Z�0�	1�	1�	1�s	�?�Arr�rr�r~c��d}tjt|��5tjd|z|��ddd�y#1swYyxYw�Nz?Worksheet index 3 is invalid|Worksheet named 'Sheet4' not foundr|r�r�r�)r^r$rr�s    r%�test_bad_sheetname_raisesz%TestReaders.test_bad_sheetname_raises^sD��P��
�]�]�:�S�
1�	E��M�M�'�H�,��D�	E�	E�	E���A�Ac��d|��}djgd��}tjt|��5t	j
|�ddd�y#1swYyxYw)Nrx�|)z(No such file or directoryu没有那个文件或目录zFile o directory non esistente)r|)�joinr)r��FileNotFoundErrorrZrY)r^r$�bad_filer}s    r%�test_missing_file_raisesz$TestReaders.test_missing_file_raiseshsS����
�#�����
�
���]�]�,�E�
:�	$��M�M�(�#�	$�	$�	$�s�A�Ac��d}|�	t}d}n(|dk(rddlm}|}d}n|dk(rddlm}|}d	}nt
}d
}t
j||��5tjt|��ddd�y#1swYyxYw)NsfoozLExcel file format cannot be determined, you must specify an engine manually.rr)�	XLRDErrorzFUnsupported format, or corrupt file: Expected BOF record; found b'foo'r��
CalamineErrorzCannot detect file formatzFile is not a zip filer|)r�rr�r r�r
r)r�rZrYr)r^r#�
bad_stream�errorr�r�r�s       r%�test_corrupt_bytes_raisesz%TestReaders.test_corrupt_bytes_raisesus����
��>��E�.�
��v�
�&��E�'�
��z�
!�5�!�E�-�C��E�*�C�
�]�]�5��
,�	/��M�M�'�*�-�.�	/�	/�	/�s�
A5�5A>c�&�td|zd�5}|j|j���ddd�tj|j
�}tjd|z�}t
j||�y#1swY�WxYw)Nrnro)�content)rr�
serve_content�readrZrY�urlr�r�)r^�
httpserverr$rt�	url_table�local_tables      r%�test_read_from_http_urlz#TestReaders.test_read_from_http_url�sv���'�H�$�d�
+�	7�q��$�$�Q�V�V�X�$�6�	7��M�M�*�.�.�1�	��m�m�G�h�$6�7��
���i��5�		7�	7�s�!B�Bc�(�td|zd�5}|jd|z|��ddd�d|j�d�|z}tj||��}tjd|z�}tj||�y#1swY�bxYw)Nrnro��Key�Body�s3://�/test1)�storage_options)rr�
put_objectrFrZrYr�r�)r^r$�s3_public_bucket�s3sortr�r�r�s        r%�test_read_from_s3_urlz!TestReaders.test_read_from_s3_url�s����'�H�$�d�
+�	H�q��'�'�G�h�,>�Q�'�G�	H��&�+�+�,�F�3�h�>���M�M�#�t�<�	��m�m�G�h�$6�7��
���i��5�	H�	H�s�B�Bc��td|zd�5}|jd|z|��ddd�ddl}|jdi|��}|jd|j�d�|z�5}tj|�}ddd�tjd|z�}tj|�y#1swY��xYw#1swY�DxYw)Nrnror�rr�r�r4)	rrr��s3fs�S3FileSystemrFrZrYr�r�)	r^r$r�r�rtr��s3r�r�s	         r%�test_read_from_s3_objectz$TestReaders.test_read_from_s3_object�s����'�H�$�d�
+�	H�q��'�'�G�h�,>�Q�'�G�	H�	�
�T�
�
�
&��
&��
�W�W�u�-�2�2�3�6�:�X�E�
F�	)�!��
�
�a�(�I�	)��m�m�G�h�$6�7��
���i��5�	H�	H��	)�	)�s�B4�'C�4B=�C	c��tjj|ddd�d|z�}tj|�}	tjd|z�}tj|�y#t
$rLdjt
j��j�}tjd|���Y�kwxYw)Nr8r9rXrnzfile://localhost/� zfailing on )
�os�pathr�rZrYr	�platform�uname�stripr)rUr�r�)r^r$r>�
localtabler�r��
platform_infos       r%�test_read_from_file_urlz#TestReaders.test_read_from_file_url�s����W�W�\�\�(�4���"A�7�X�CU�V�
��m�m�J�/��	7��
�
�&9�J�&F�G�I�	���i��5���	7��H�H�X�^�^�%5�6�<�<�>�M��K�K�+�m�_�5�6�	7�s�A1�1AC�Cc��d|z}tj|dd��}td|z�}tj|dd��}tj||�yr�)rZrYrr�r�)r^r$�str_pathrH�path_objrs      r%�test_read_from_pathlib_pathz'TestReaders.test_read_from_pathlib_path�sO���X�%���=�=��h�!�L����(�*�+�����x�H��J��
���h��/r'zpy.pathc��ddlm}tjj	d|z�}tj|dd��}|�j	d|z�}tj|dd��}tj||�y)Nr)�localrnr~r�)	�py.pathr�r�r�r�rZrYr�r�)r^r$�	LocalPathr�rHr�rs       r%�test_read_from_py_localpathz'TestReaders.test_read_from_py_localpath�si��	/��7�7�<�<��(� 2�3���=�=��h�!�L���;�#�#�G�h�$6�7�����x�H��J��
���h��/r'c���tjjd|z�}t|d�5}t	j
|dd��}~|j
�ddd�y#1swYyxYw)Nrnror~rr�)r�r�r�rrrZrYr�)r^r$r�rtr�s     r%�test_close_from_py_localpathz(TestReaders.test_close_from_py_localpath�sX���7�7�<�<��(� 2�3��
�(�D�
!�	�Q��
�
�a�H��B�A��
�F�F�H�		�	�	�s�*A"�"A+c��t||�|dk(r4|dk(r/|jtjj	d���tjdtddd�tdd	d
d�tdd
dd�tdddd�tdddd�tdddd�tdddd�tddd d!�td d"dd#�td$d%d&d'�td(d)d*�gi�}tjd+|zd,�-�}tj||�tjd.|zd,�-�}tj||�y)/Nrrz0ODS file contains bad datetime (seconds as text)rL�Timerpr�r��-�8i��r���1i@
rH�
�*i���9�#i��	�)�i ����i�'	r�i`�
�5i5��%ri��
���6�
times_1900r~r��
times_1904)rQrNr)rOrPr
rrrZrYr�r�)r^r0r#r$rHrs      r%�test_reader_secondszTestReaders.test_reader_seconds�sE��#�F�G�4��Z��H��$6�������!�!�M�"��
��&�&����A�q�M���B��F�+���B��F�+���B��F�+���B��F�+���B��F�+���R��V�,���Q��F�+���R��F�+���R��F�+���R��$��
�
��$���|�h�6�8�L��
���f�h�/����|�h�6�8�L��
���f�h�/r'c
�2�t||�t||�}tjddgddgg�}d|z}t	ddtjd�d	gd
dtjd�d
gddtjd�d
gddtjd�d	gg|��}||d
jd|�d��||d
<tj|dddgd��}tj||�||_gd�|_tj|dddg��}tj||�||_tj|dddgddg��}tj||�gd�|_|jdd g�|_tj|d!ddg��}tj||�ttd��|_|jd"d#g�|_tj|d$ddgd��}tj||�|j!dd
gd�%�jd"d#g�|_tj|d&dddg��}tj||�|jd"d#g�|_|jdd g�|_tj|d'ddgddg��}tj||�tj|d(ddgddgd
�)�}tj||�y)*Nrx�barr�r��testmultiindexrpr)�
2015-01-01Tr�r*�
2015-01-02Fr�r+�
2015-01-03r�r,�
2015-01-04r�r�r��	mi_columnr)rr�r<r0�mi_indexr��both�rr<r��ilvl1�ilvl2�
mi_index_name�c1�c2�mi_column_name)�level�
name_with_int�	both_name�both_name_skiprows)rr<r�r�)rQrCr�from_productr
rZrWr9rYr�r�rEr��	set_namesr�r��
set_levels)	r^r0r#r$rI�mi�mi_filerHrs	         r%�test_read_excel_multiindexz&TestReaders.test_read_excel_multiindex
s���#�F�G�4��H�f�-��
�
$�
$�u�e�n�s�C�j�%A�
B��"�X�-����C����l�3�T�:��C����l�3�U�;��C����l�3�U�;��C����l�3�T�:�	
��
��#�2�a�5�/�0�0�3�t�f�A��?���A��������Q��F�a�
��	���f�h�/����/������w�:�!�Q��P��
���f�h�/���������1�a�&�!�Q��
��	���f�h�/�0������w��&8�9������w�?�q�RS�f�U��
���f�h�/��e�A�h�����<�<��t��5������� 0�!�Q��1�
��	���f�h�/��=�=�!�Q��q�=�9�C�C�T�4�L�Q��������1�a��V�
��	���f�h�/��<�<��t��5������w��&8�9���������1�v�q�!�f�
��	���f�h�/�����+��!�f��q�6��
��	���f�h�/r'zsheet_name,idx_lvl2�both_name_blank_after_mi_namer�r��both_name_multiple_blanksr�c
�6�t||�d|z}tjddgddggddg��}t||�}t	d	d
tjd�dgd
dtjd�dgddtjd�dgddtjd�dgg|tjgd�|fddg����}	|	|d
jd|�d��|	|d
<tj||dd	gdd	g��}
tj|
|	�y)Nrrxrr�r�rr�r�rpr)rTr�r*rFr�r+r	r�r,r
)rxrxrrrrr�r�r�rr)rQrrrCr
rZrW�from_arraysr9rYr�r�)r^r0r#r$r�idx_lvl2rrrIrHrus           r%�+test_read_excel_multiindex_blank_after_namez7TestReaders.test_read_excel_multiindex_blank_after_name^s,��	$�F�G�4�"�X�-��
�
$�
$�u�e�n�s�C�j�%A�$�PT��
V���H�f�-����C����l�3�T�:��C����l�3�U�;��C����l�3�U�;��C����l�3�T�:�	
���(�(�-�x�8���(��
��#�2�a�5�/�0�0�3�t�f�A��?���A�������!��!�f��q�6�	
��	���f�h�/r'c���d|z}tj|dddg��}tjddg�}t	gd�gd	z|�
�}tj||�y)Nr�index_col_nonerrp�rr��r�r���key�valr'r�r�)rZrYrrr
r�r�)r^r$rru�exp_columnsrHs      r%�&test_read_excel_multiindex_header_onlyz2TestReaders.test_read_excel_multiindex_header_only�s^��#�X�-�����w�3C�Q�PQ�F�S�� �-�-�z�>�.J�K���l�^�a�/��E��
���f�h�/r'c	���d|z}tjtjtjtjtjtjggd�gd�gd�gd�gd�gt��}gd�}t	gd	�gd
�ggd�gd�gddg��}tgd	�d�
�}t
|||��}tj|dd��}tj||�||_tj|dddg��}tj||�tjgd�gd�gd�gd�gd�g�}gd�}t	gd�gd�ggd�gd�gddg��}tgd�d�
�}t
|||��}tj|dd��}tj||�||_tj|dddg��}tj||�y)N�test_index_name_pre17)�R0C0�R0C1�R0C2�R0C3�R0C4)�R1C0�R1C1�R1C2�R1C3�R1C4)�R2C0�R2C1�R2C2�R2C3�R2C4)�R3C0�R3C1�R3C2�R3C3�R3C4)�R4C0�R4C1�R4C2�R4C3�R4C4r�)�C_l0_g0�C_l0_g1�C_l0_g2�C_l0_g3�C_l0_g4)�R0�R_l0_g0�R_l0_g1�R_l0_g2�R_l0_g3�R_l0_g4)�R1�R_l1_g0�R_l1_g1�R_l1_g2�R_l1_g3�R_l1_g4)rrpr�r�r�r�r�r��rEr��single_namesrr��multi_namesrp)rPrQrRrSrT)rVrWrXrYrZ)rrpr�r�r��single_no_names�multi_no_names)r�r[r�r:rrr
rZrYr�r�rE)	r^r$r�r9r�r�sirHrs	         r%�test_excel_old_index_formatz'TestReaders.test_excel_old_index_format�s���*�X�5��
�x�x����������������8�8�8�8�8�8�

��

��J��
�M�M��&�'9�:���,�

���I�PT�
���T��W�=�����x�N�a�P��
���f�h�/�������x�M�a�QR�V�T��
���f�h�/��x�x�8�8�8�8�8�
�
��J��
�G�G��#�O�4���,�

���J�QU�
V���T��W�=�����x�4E�QR�S��
���f�h�/�������x�4D�QR�TU�PV�W��
���f�h�/r'c��d}dD]@}tjt|��5tjd|z|��ddd��By#1swY�MxYw)Nz#Passing a bool to header is invalid)TFr|rn�r�r�)r^r$r��args    r%�test_read_excel_bool_header_argz+TestReaders.test_read_excel_bool_header_arg�sQ��3�� �	>�C����y��4�
>��
�
�g��0��=�
>�
>�	>�
>�
>�s�A	�	A	c
���t||�t||�}tjd|zdddg��}t	ddtj
d�d	gdd
tj
d�dgd
dtj
d�dgddtj
d�d	gggd���}|dj
d|�d��|d<tj||�tjd|zdtjddg���}tj||�tjd|zdd���}tj||�tjd|zdd
gd���}t	dd
tj
d�dgd
dtj
d�dgddtj
d�d	gggd���}|dj
d|�d��|d<tj||�y)N�testskiprows�
skiprows_listrr��rr�rpr)rTr*rFr�r+r	r�r,r
r0r�r�r�r�c�
�|dvS�N)rr�r4rs r%r z6TestReaders.test_read_excel_skiprows.<locals>.<lambda>s
��q�F�{�r')rr�r�)rQrCrZrYr
rWr9r�r�r�r[�r^r0r#r$rIrrHs       r%�test_read_excel_skiprowsz$TestReaders.test_read_excel_skiprows�s���#�F�G�4��H�f�-������X�%�/�Q�PQ�F�
����C����l�3�T�:��C����l�3�U�;��C����l�3�U�;��C����l�3�T�:�	
�)�
��!��
�,�,�s�4�&��]�;���
�
���f�h�/�����X�%�&��X�X�q�!�f�%�
��
	���f�h�/�����X�%�&�*�
��
	���f�h�/�����X�%�&��&�	
����C����l�3�U�;��C����l�3�U�;��C����l�3�T�:�	
�)�
��!��
�,�,�s�4�&��]�;���
�
���f�h�/r'c�L�t||�t||�}tjd|zdd���}t	ddtj
d�dgd	d
tj
d�dgggd
���}|dj
d|�d��|d<tj||�y)Nrgrhc�
�|dvS)N)rpr�r�r4rs r%r zFTestReaders.test_read_excel_skiprows_callable_not_in.<locals>.<lambda>s��q�	�1�r'rirpr)rTr�r+r	Fr0r�r�r�r�)	rQrCrZrYr
rWr9r�r�rls       r%�(test_read_excel_skiprows_callable_not_inz4TestReaders.test_read_excel_skiprows_callable_not_ins���#�F�G�4��H�f�-������X�%�&�1�
��
��C����l�3�T�:��C����l�3�U�;�
�)�
��!��
�,�,�s�4�&��]�;���
�
���f�h�/r'c��d}tjd|z|��}tjd|z�}|d|}tj||�y)Nr�rn��nrowsr>)r^r$�num_rows_to_pullrrHs     r%�test_read_excel_nrowsz!TestReaders.test_read_excel_nrows-sO�������w��1�9I�J���=�=��8�!3�4���-�-�.��
���f�h�/r'c��tjd|z�}t|�}|dz}tjd|z|��}tj||�y)Nrnr�rr)rZrYr�r�r�)r^r$rH�num_records_in_filertrs      r%�0test_read_excel_nrows_greater_than_nrows_in_filez<TestReaders.test_read_excel_nrows_greater_than_nrows_in_file5sP���=�=��8�!3�4��!�(�m��.��3�����w��1�9I�J��
���f�h�/r'c��d}tjt|��5tjd|zd��ddd�y#1swYyxYw)Nz'nrows' must be an integer >=0r|rnrrrr�r�s   r%�+test_read_excel_nrows_non_integer_parameterz7TestReaders.test_read_excel_nrows_non_integer_parameter=s=��.��
�]�]�:�S�
1�	9��M�M�'�H�,�C�8�	9�	9�	9�r�z-filename,sheet_name,header,index_col,skiprowsrrrr
rrgrhc�
�|dvSrkr4rs r%r zTestReaders.<lambda>Ks
��A��K�r'c��tj||z||||��jdd}tj||z||||d��}tj||�y)z�
        For various parameters, we should get the same result whether we
        limit the rows during load (nrows=3) or after (df.iloc[:3]).
        )rr�r<r�Nr�)rr�r<r�rs)rZrYr�r�r�)	r^r$r�rr�r<r�rHrs	         r%�test_read_excel_nrows_paramsz(TestReaders.test_read_excel_nrows_paramsCso��&�=�=��x��!����
��$�r��
������x��!�����

��	���f�h�/r'c��tjtd��5tjd|zdd�ddd�y#1swYyxYw)Nzbut 3 positional argumentsr|rnr~rr�r�s  r%�test_deprecated_kwargsz"TestReaders.test_deprecated_kwargsgs;��
�]�]�9�,H�
I�	;��M�M�'�H�,�h��:�	;�	;�	;�s�A�A	c���d|z}gd�}tjgd�d��}t||d��}tj|dd	d
gd��}tj||�y)Nr))r�r�r*�r�r�r�))r�r�r*�rpr�r�)rrpr")r�r�r[r'rrpr)r�from_tuplesr
rZrYr�r�)r^r$�	file_namer9�idxrHrus       r%�"test_no_header_with_list_index_colz.TestReaders.test_no_header_with_list_index_colksd��$�x�/�	�;���$�$�8��
���T��f�=������"2�q�!�f�T�
��	���h��/r'c��d|z}dtjddg}t|dg��}tj|�}tj||�y)N�one_col_blank_lineg�?rpr��numbersr�)r�r�r
rZrYr�r�)r^r$r�r9rHrus      r%�test_one_col_noskip_blank_linez*TestReaders.test_one_col_noskip_blank_linexsJ��(�8�3�	��R�V�V�Q��"���T�I�;�7�����y�)��
���f�h�/r'c�B�d|z}tjddg�}tjtjgtjtjgddgddgg}t	||��}tj|d	d
dg��}tj||�y)Nr)r�r�)r�r�rpr�r�r�r��mi_column_empty_rowsrr()	rr�r�r�r
rZrYr�r�)r^r$r�r�r9rHrus       r%� test_multiheader_two_blank_linesz,TestReaders.test_multiheader_two_blank_lines�s���$�x�/�	��(�(�*�j�)A�B�������� �2�6�6�2�6�6�"2�Q��F�Q��F�C���T�7�3������"8�!�Q��
��	���f�h�/r'c�Z�d|z}tj|�}|jdk(sJ�y)z�
        Sheets can contain blank cells with no data. Some of our readers
        were including those cells, creating many empty rows and columns
        �trailing_blanks)r�r�N)rZrY�shape)r^r$r�rus    r%�test_trailing_blanksz TestReaders.test_trailing_blanks�s.��
&��0�	����y�)���|�|�v�%�%�%r'c�4�|dk(rtjd�|dk(r/|jtjj	d���tj
td��5tjd|zd	�
�ddd�y#1swYyxYw)Nr�*chartsheets do not exist in the ODF formatr�4pyxlsb can't distinguish chartsheets from worksheetsrLz"Worksheet named 'Chart1' not foundr|�
chartsheet�Chart1r��	r)rUrNrOrPr�r�rZrY�r^r0r#r$s    r%�test_ignore_chartsheets_by_strz*TestReaders.test_ignore_chartsheets_by_str�s����v���K�K�D�E��X��������!�!�Q�"��
�
�]�]�:�-Q�
R�	H��M�M�,��1�h�G�	H�	H�	H���*B�Bc�4�|dk(rtjd�|dk(r/|jtjj	d���tj
td��5tjd|zd	�
�ddd�y#1swYyxYw)Nrr�rr�rLz0Worksheet index 1 is invalid, 1 worksheets foundr|r�rpr�r�r�s    r%�test_ignore_chartsheets_by_intz*TestReaders.test_ignore_chartsheets_by_int�s����v���K�K�D�E��X��������!�!�Q�"��
�
�]�]��P�
�	A�
�M�M�,��1�a�@�	A�	A�	A�r�c��tjd|zdd��}tgd�gd�gd�ggd��	�}tj||�y)
N�test_decimal�,rp)�decimalr�)rpgA�c̝ė@g�	h���A�ABC�poig2�[j��@)r�gH�z�G^@g{�G��@�DEF�uytg�Uq&�?)r�g%��Cq�@g���^�@�GHI�rezg�)���@)�Id�Number1�Number2�Text1�Text2�Number3r�r�r�s    r%�test_euro_decimal_formatz$TestReaders.test_euro_decimal_format�sJ�����~��8�#�PQ�R���F�@�C�
�
N�

��	���f�h�/r')\�__name__�
__module__�__qualname__r)�fixturerarvr�r�r�r�rO�parametrizer�r�r�r�r�r�r�r�r�r�r�r�r�r�rr$r;r
r�r�rrr:r?rcrgrPrrmruryr|r�r�r�r�r�r��filterwarningsr�r�r�r�r�r�r��network�
single_cpur��td�skip_if_not_us_localer�r��slowr�r��
skip_if_nor�r�rrr%r.rarermrprurxrzr}rr�r�r�r�r�r�r�r4r'r%rSrS�sF���V�^�^�D�!�4�"�4�"�0�4�$-�*1-�f�[�[����I�y�)�Y�	�9�U��0��0��[�[���Y�#�s��c�3�Z�(@�A�0�B�0�0�	0�S�	�0�	0��[�[���[�4��)�4�0�5�0�=�A�0�
0�2�&/0�d0�4E�:�[�[������)�1�)�!�3�����4�	��

� �i�c��D��#�L�	�B�#�$8�	�J�#�$@��O�#�S�#�r�v�v�s�$;�6�J�	��

�	
��60�7�60�.0�`*� �[�[���"�$�-L���"4��"4�H�[�[���0�B��7�e�W�=M�q�<Q�2R�S�0�T�0� 0�&�[�[����
��H�z�l�#;�<�=�
��L�>�:�;�	
��0��0�1�5�:�3�0�
X��[�[��� O�P�0�Q�0�6-�"4�1�
�[�[����	
�Q��F�Q��F�H�x��&:�X�x�<P�Q��E�	�E�$�/�6�[�[����[�[���6���6�����[�[���	6���	6��[�[���6��6� �[�[���6��6�0��R�]�]�9��
0��
0��"0�HR0�h�[�[����
,�r�v�v�s�C��.E�F�
(�2�6�6�(�Q�,�7�	
��0��0�B	0�G0�R>�40�l0�,0�0�9��[�[���7�
�{�Q��F�A�t�<�
�z�4�!�Q���>�
�v��1�v��1�v�t�<�
�/�!�Q���D�A�
�_�d�D�1�a�&�A�
�_�d�D�:O�P�
	
�
�0�
�0�2;�0�0�	0�&�H�
A�0r'rSc
��eZdZd�Zej
d��d��Zd�Zd�Zejjdgd��d	��Zd
�Zd�Z
ejjdd
dd
gd
dgdddgddgg�d��Zd�Zd�Zd�Zd�Zd�Zd�Zejjdddg�d��Zd�Zd�Zd�Zd�Zy )!�TestExcelFileReadc��d}tjt|d��5td|zd�5}t	j
|j
�|��ddd�ddd�y#1swY�xYw#1swYyxYw)Nz�Passing bytes to 'read_excel' is deprecated and will be removed in a future version. To read from a byte string, wrap it in a `BytesIO` object.F)r}�raise_on_extra_warningsrnrorW)r��assert_produces_warning�
FutureWarningrrrZrYr�)r^r#r$r�rts     r%�test_deprecate_bytes_inputz,TestExcelFileRead.test_deprecate_bytes_input�sy��
:�	��
'�
'���e�
�	7��g��(�$�/�
7�1��
�
�a�f�f�h�v�6�
7�	7�	7�
7�
7��	7�	7�s"�A2�&A&�A2�&A/	�+A2�2A;TrTc��ttj|��}|j|ddd��|j	td|�y)zH
        Change directory and set engine for ExcelFile objects.
        rWr8r9rXrqN)rrZrqr[r\r]s     r%raz#TestExcelFileRead.cd_and_set_engine�s=��
�r�|�|�F�3�����(�4���9�:����B��T�2r'c��dddddd�}tjd|z�5}|j}ddd�|�|}n||dd}|k(sJ�y#1swY�xYw)Nrrrrrhrnrp)rZrqr#)r^r$r#rsrXrurHs       r%rvz"TestExcelFileRead.test_engine_used�sw�������
���\�\�'�H�,�
-�	"���\�\�F�	"����H�(��!�"��6�H���!�!�!�	"�	"�s�
A�Ac��tjd|z�5}tj|dddg��}ddd�tdgdgdgtj
gdggd	g�
�}t
j|�tjd|z�5}tj|dddg��}ddd�ttj
gdgtj
gtj
gdggd	g�
�}t
j||�tjd|z�5}tj|dddg��}ddd�td
gdgdgtj
gdggd	g�
�}t
j||�tjd|z�5}tj|dddg��}ddd�ttj
gdgtj
gtj
gdggd	g�
�}t
j||�y#1swY���xYw#1swY��zxYw#1swY��xYw#1swY��xYw)N�test4r~F�apple�r�keep_default_na�	na_valuesrVrp�rabbitr�r�T�test5�1.#QNANr�)rZrqrYr
r�r�r�r�)r^r$rXr�rHs     r%�test_excel_passes_naz&TestExcelFileRead.test_excel_passes_na�s��
�\�\�'�H�,�
-�	���]�]��(�E�g�Y��F�	���V�a�S�4�&�2�6�6�(�X�J�7�&��
��	���f�h�/�
�\�\�'�H�,�
-�	���]�]��(�D�W�I��F�	���f�f�X��s�R�V�V�H�r�v�v�h��
�;�f�X�
��	���f�h�/��\�\�'�H�,�
-�	���]�]��(�E�g�Y��F�	���[�1�#��w�����8�*�=��x�
��	���f�h�/�
�\�\�'�H�,�
-�	���]�]��(�D�W�I��F�	���f�f�X��s�R�V�V�H�r�v�v�h��
�;�f�X�
��	���f�h�/�G	�	��	�	��	�	��	�	�s/�H�H#�#H0�H<�H �#H-�0H9�<I�	na_filter)NTFc�|�i}|�||d<tjd|z�5}tj|fdddgd�|��}ddd�|dur
dgd	gd
gdgdgg}n6tjgd	gtjgtjgdgg}t|dg�
�}t
j|�y#1swY�uxYw)Nr�r�r~Tr�r�Fr�rpr�r�r�r�)rZrqrYr�r�r
r�r�)r^r$r�rerXr�rHs       r%�test_excel_passes_na_filterz-TestExcelFileRead.test_excel_passes_na_filters������ �"+�F�;��
�\�\�'�H�,�
-�	���]�]���#� $�"�)�	�
��F�	����"��a�S�5�'�G�9�x�j�I�H�����1�#����x�"�&�&��H�:�F�H��X��x�8��
���f�h�/�	�	�s�B2�2B;c���t||�|}t|||�tjd|z�5}tj|dd��}tj|ddgd��}ddd�tj|�tj|�tjd|z�5}|jdd��}|jddgd��}ddd�tj||�tj||�tjd|z�5}tj|ddd��}	ddd�tj	|jdd	�tjd|z�5}|jddd�
�}	ddd�tj|	|jdd	�y#1swY��axYw#1swY��xYw#1swY��xYw#1swY�RxYw)Nrnrr�rpr�)r<)r�r<r�r�)r<r�)	rQrJrZrqrYr�r�rgr�)
r^r0r#r$r@rHrXr�r�r�s
          r%�test_excel_table_sheet_by_indexz1TestExcelFileRead.test_excel_table_sheet_by_index's���#�F�G�4�����(�F�3�
�\�\�'�H�,�
-�	P���-�-��!�q�A�C��-�-��!�q�c�Q�O�C�	P�	���c�8�,�
���c�8�,�
�\�\�'�H�,�
-�	<���+�+�a�1�+�-�C��+�+�a�1�#��+�;�C�	<�	���c�8�,�
���c�8�,�
�\�\�'�H�,�
-�	P���-�-��!�q�Q�O�C�	P�
���c�3�8�8�C�R�=�1�
�\�\�'�H�,�
-�	<���+�+�a�1��+�;�C�	<�	���c�3�8�8�C�R�=�1�'	P�	P��	<�	<��	P�	P��	<�	<�s/�3G�3)G�(G�G+�G�G�G(�+G4c��t||�|}t|||�d}d}tj||z�5}|j	|d��}	ddd�tj||z�5}|j	d|��}
ddd�tj	|�tj
|�y#1swY�jxYw#1swY�BxYwr�)rQrJrZrqrgr�r�)r^r0r#r$r@rHr�rrX�	df1_parse�	df2_parses           r%r�z!TestExcelFileRead.test_sheet_nameBs���#�F�G�4�����(�F�3����
�
�\�\�(�X�-�
.�	H�%����z�Q��G�I�	H��\�\�(�X�-�
.�	H�%����a�J��G�I�	H�	���i��2�
���i��2�	H�	H��	H�	H�s�B5�,C�5B>�C
rr�rr�r~c���d}tjt|��5tjd|z�5}|j|��ddd�ddd�y#1swY�xYw#1swYyxYwr�)r)r�r�rZrqrg)r^r$rr�rXs     r%r�z+TestExcelFileRead.test_bad_sheetname_raisesTsh��P��
�]�]�:�S�
1�	3����g��0�1�
3�U����z��2�
3�	3�	3�
3�
3��	3�	3�s"�A'�A�
A'�A$	� A'�'A0c�2�d|z}tj|dd|��}t|d�5}tj|�5}tj|dd��}ddd�ddd�t	j
|�y#1swY�(xYw#1swY�,xYw)Nrnr~r�rr<r#ror�)rZrYrrrqr�r�)r^r#r$r�rHrtrlrs        r%r�z(TestExcelFileRead.test_excel_read_buffer_s����� ���=�=���Q�v�V��
�#�t�_�	N�����a��
N�C����s�x�1�M��
N�	N�	���h��/�
N�
N��	N�	N�s#�B
�B�B
�B
	�B
�
Bc���td|zd�5}tj|�5}tj|dd|��ddd�ddd�jsJ�y#1swY� xYw#1swY�$xYw)Nrnror~rr�)rrrZrqrY�closed)r^r#r$rtris     r%�test_reader_closes_filez)TestExcelFileRead.test_reader_closes_fileisq��
�'�H�$�d�
+�	U�q����a��
U�D��
�
�d�x�1�V�T�
U�	U�
�x�x��x�	
U�
U��	U�	U�s"�A+�A�A+�A(	�$A+�+A4c���d}tjd|z�5}tjt|��5tj
|d��ddd�ddd�y#1swY�xYw#1swYyxYw)Nz8Engine should not be specified when passing an ExcelFilernr|rxrW)rZrqr)r�r�rY)r^r$r��xls    r%�test_conflicting_excel_enginesz0TestExcelFileRead.test_conflicting_excel_enginesqse��H��
�\�\�'�H�,�
-�	0�����z��5�
0��
�
�b��/�
0�	0�	0�
0�
0��	0�	0�s"�A,�A �A,� A)	�%A,�,A5c��tjd|z|��}td|zd�5}|j�}ddd�tjt	�|��}tj||�y#1swY�@xYw)NrnrWro)rZrYrrr�rr�r�)r^r#r$rHrtr9rs       r%�test_excel_read_binaryz(TestExcelFileRead.test_excel_read_binaryysn���=�=��8�!3�F�C��
�'�H�$�d�
+�	�q��6�6�8�D�	����w�t�}�V�<��
���h��/�		�	�s�A:�:Bc���td|zd�5}tj||��}ddd�tjd|z|��}tj|�y#1swY�:xYw)NrnrorW)rrrZrYr�r�)r^r$r#rtrurHs      r%�%test_excel_read_binary_via_read_excelz7TestExcelFileRead.test_excel_read_binary_via_read_excel�s]��
�'�H�$�d�
+�	5�q��]�]�1�V�4�F�	5��=�=��8�!3�F�C��
���f�h�/�	5�	5�s�A!�!A*c���tdd�5}tjtd��5t	j
|ddg��ddd�ddd�y#1swY�xYw#1swYyxYw)Nzdf_header_oob.xlsxrozexceeds maximumr|rrprc)rrr)r�r�rZrY)r^r#rts   r%�)test_read_excel_header_index_out_of_rangez;TestExcelFileRead.test_read_excel_header_index_out_of_range�s_��
�&��
-�	0�����z�1B�C�
0��
�
�a��A��/�
0�	0�	0�
0�
0��	0�	0�s"�A �A�A �A	�A � A)r�z
df_empty.xlsxzdf_equals.xlsxc���tdgd��}tjddgddg��}td	d
gg||d��}t	j
|d
ddd	g��}t
j||�y)N�Z�I2r�r))r�zB.1�I11�I12r"rpr�r8)rEr�r�r~rr)rrr�r
rZrYr�r�)r^r�r��colsrHrus      r%�test_header_with_index_colz,TestExcelFileRead.test_header_with_index_col�sq���S�E��%���%�%�z�<�&@��PU��W���q�!�f�X�S�$�g�N�������Q��1�v�
��	���h��/r'c���t||�d|z}tj|�5}tj|ddgd|��}ddd�t	||�}tj
ddgd|�d��	�}t
j|dd|ddg|dj�|dj�g�
�}	tgg|	��}
tj|
�y#1swY��xYw)N�test_datetime_mirrp)r�r<r#z
2020-02-29z
2020-03-01r�r�r�r"r[)rQrZrqrYrC�
DatetimeIndexrr#�
to_pydatetimer
r�r�)r^r0r#r$rtrXrrI�dti�expected_column_indexrHs           r%�test_read_datetime_multiindexz/TestExcelFileRead.test_read_datetime_multiindex�s���#�F�G�4���)��
�\�\�!�_�	U���]�]�5�!�Q��1�V�T�F�	U��H�f�-������l�;�S���a�=�Q�� *� 6� 6�
��!�W�c�!�"�g���A��$�$�&��A��$�$�&��!
���R�r�3H�I��
���h��/�	U�	U�s�C�C%c���tjtd��5tjd|�d�d�5	ddd�ddd�y#1swY�xYw#1swYyxYw)NzValue must be one of *r|zio.excelz.reader�abc)r)r�r�rZrjr�s  r%�test_engine_invalid_optionz,TestExcelFileRead.test_engine_invalid_option�s\��
�]�]�:�-E�
F�	��"�"�X�h�Z�w�#?��G�
��
�	�	�
�
��	�	�s!�A�A
�A�
A	�A�Ac� �|dk(rtjd�|dk(r/|jtjj	d���tjd|z�5}|jdgk(sJ�	ddd�y#1swYyxYw)Nrr�rr�rLr�r~)r)rUrNrOrPrZrq�sheet_names)r^r0r#r$rXs     r%�test_ignore_chartsheetsz)TestExcelFileRead.test_ignore_chartsheets�s����v���K�K�D�E��X��������!�!�Q�"��
�
�\�\�,��1�
2�	3�e��$�$��
�2�2�2�	3�	3�	3�s�'B�B
c���tf}|�tjd|���n4|dk(r!ddl}t|jj
f}n|dk(r	ddlm}|f}tjd|���5}t|�jdd��tjd	�5	tj||�
�ddd�ddd�y#|$rY�wxYw#1swY�xYw#1swYyxYw)NzInvalid test for engine=rrrr��corruptzutf-8)�encodingFrW)r
r)rUr�biffhr�r r�r�rXr�
write_textr�rZrq)r^r#r$�errorsrr��files       r%�test_corrupt_files_closedz+TestExcelFileRead.test_corrupt_files_closed�s�������>��K�K�2�6�(�;�<�
�v�
�� �$�*�*�"6�"6�7�F�
�z�
!�5�#�%�F�
�_�_�w�x�j�1�
2�	�d���J�!�!�)�g�!�>��+�+�E�2�
���L�L��f�5�
�	�	��
�����
�
��	�	�sB�/2C"�!C�#C�:C"�C�C�C�C�C	�C"�"C+N)r�r�r�r�r)r�rarvr�rOr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r4r'r%r�r��s��7��V�^�^�D�!�3�"�3�"�$$0�L�[�[���[�*=�>�0�?�0�02�63�$�[�[����	
�Q��F�Q��F�H�x��&:�X�x�<P�Q��3�	�3�0��0�0�0�0��[�[���Z�/�;K�)L�M�0�N�0�0�*�3�r'r�)r$r�return�bool)r$rr#z
str | Nonerr)rHr
r$rr#rr�None)=�
__future__rrr�	functoolsrr8rr��pathlibrr�r��urllib.errorr	�zipfiler
�numpyr�r)�pandas._configr�
pandas.compatr�pandas.util._test_decorators�util�_test_decoratorsr��pandasrZr
rrrr�pandas._testing�_testingr��pandas.core.arraysrrrOr��
pytestmark�read_ext_paramsr*r��
engine_paramsr&r,r�rr1r#r$r@rCrJrQrSr�)�eng�exts00r%�<module>rs��"����	���	�!���
�5�-�)�)������
�����'�'�J�=��
�F�L�L���B�M�M�&�!�
���F�L�L���B�M�M�*�%�
���F�L�L���B�M�M�&�!�
���F�L�L������x�!8�9��F�L�L��m�b�m�m�E�2�3��F�L�L��=�2�=�=�1B�#C�D�1�
�8�*�����!���"��
�$�S�#�.�	��S�!��!��	�����������
������
�������2�
�\0�\0�~(Y�Y��q*s� H

Youez - 2016 - github.com/yon3zu
LinuXploit