o
    թZh                     @   s   d dl Z d dlZd dlZd dlmZ d dlZd dlm	Z
 d dlmZ d dlmZ edZe r4ejjZejdgddd	 Zd
d Zdd Zdd Zejdg ddd ZdS )    N)is_platform_windows)	ExcelFile)inspect_excel_formatxlrdz.xls)paramsc                 C   s   | j S )z
    Valid extensions for reading Excel files with xlrd.

    Similar to read_ext, but excludes .ods, .xlsb, and for xlrd>2 .xlsx, .xlsm
    )param)request r	   V/var/www/html/lang_env/lib/python3.10/site-packages/pandas/tests/io/excel/test_xlrd.pyread_ext_xlrd   s   r   c           	   	   C   s   d}d}|dddd}t |/}t||d}tj||dd	}W d    n1 s*w   Y  tj|||dd
}W d    n1 sBw   Y  t|| d S )Nr   ZSheet1iodataexcelz	test1.xlsenginer   )
sheet_name	index_col)r   r   r   )r   Zopen_workbookr   pd
read_exceltmassert_frame_equal)	r   datapathr   r   pthbookZxlresultexpectedr	   r	   r
   test_read_xlrd_book   s   r   c                 C   s\   ddl m} | dddd}tj|dd tj|d	d
 W d    d S 1 s'w   Y  d S )Nr   )	XLRDErrorr   r   r   z
test1.xlsxzExcel xlsx file; not supported)matchr   r   )Z
xlrd.biffhr   pytestZraisesr   r   )r   r   pathr	   r	   r
   test_read_xlsx_fails,   s
   "r!   c                 C   sT   | dddd}t tjd dtjdtjf d}t j|d d	}t|| d S )
Nr   r   r   z	test6.xls)r      Zint64   )r   r#   )header)	r   Z	DataFramenpZr_Zastypenanr   r   r   )r   r    r   r   r	   r	   r
   test_nan_in_xls5   s   (r'   file_header)s   	    s   	    s   	    s   ࡱc                 C   s   t | }t|dksJ d S )NZxls)r   BytesIOr   )r(   fr	   r	   r
   test_read_old_xls_files@   s   
r+   )r   numpyr%   r   Zpandas.compatr   Zpandasr   Zpandas._testingZ_testingr   Zpandas.io.excelr   Zpandas.io.excel._baser   Zimportorskipr   markZ
single_cpuZ
pytestmarkZfixturer   r   r!   r'   Zparametrizer+   r	   r	   r	   r
   <module>   s*    

			