
    d7-                        d dl mZ d dlmZ d dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlZd dlmZmZmZmZmZmZ d dlmZmZ d dlmZ d d	lmZ ej        j        Zd
 Z d Z!d Z"d Z#ej        $                     e            d          d             Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-d Z.d Z/ ej0        d          d             Z1ej        2                    dddg          d              Z3d! Z4dS )"    )closing)PathN)	Timestamp)is_platform_windows)	DataFrameHDFStoreIndexSeries_testingread_hdf)_maybe_removeensure_clean_store)_test_decorators)TableIteratorc                 F   | |z  }t          t          d          t          d          d          }|                    |d           t          j        t
          d          5  t          |d           d d d            n# 1 swxY w Y   |                    |d           d S )N   abk1 'No object named k2 in the file'matchk2)r   rangeto_hdfpytestraisesKeyErrorr   )tmp_path
setup_pathpathdfs       ^/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/io/pytables/test_read.py!test_read_missing_key_close_storer%      s    j D	qa11	2	2BIIdD	x'I	J	J	J  t              
 IIdDs   #B  BBc                    | |z  }t          t          d          t          d          d          }|                    |d           t          |d          5 }t	          j        t          d          5  t          |d           d d d            n# 1 swxY w Y   t          |d           d d d            d S # 1 swxY w Y   d S )Nr   r   r   rr   r   r   )r   r   r   r   r   r   r   r   )r    r!   r"   r#   stores        r$   "test_read_missing_key_opened_storer)   -   s?   j D	qa11	2	2BIIdD	$		 ]8+MNNN 	" 	"UD!!!	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
 	                 s6   B94BB9B	B9B	B99B= B=c                 t
   t          j                    }t          |           5 }t          |d           t	          j        t          d          5  |                    dd           d d d            n# 1 swxY w Y   |                    d|           t	          j        t          t          j
        d                    5  |                    dd           d d d            n# 1 swxY w Y   t          j
        d          }t	          j        t          |          5  |                    dddg	           d d d            n# 1 swxY w Y   |                    dd          }t          j        |j        t          |j                  j                   t!          |t                    sJ t          j
        d
          }t	          j        t"          |          5  |                    dd           d d d            n# 1 swxY w Y   |                                }d|d<   |                    d|dg           |                    dd          }t          j        |j        |d         j                   |                                }d|d<   t&          j        |j        |j        dd         df<   |                    d|dg           |                    dd          }t          j        |j        |d         j                   |                    ddd          }t          j        |j        |d         j        dd                     |                    ddd          }t          j        |j        |d         j        dd                     |                    ddd          }t          j        |j        |d         j        d d                    |                    ddd          }t          j        |j        |d         j        d d                    |                    dddd          }t          j        |j        |d         j        dd                    |                    dddd          }t          j        |j        |d         j        dd                    t-          t&          j                            d          dd          }|                    d|d           |d         }|                    dd          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr#   zNo object named df in the filer   indexz%'column [foo] not found in the table'fooz:select_column() got an unexpected keyword argument 'where'zindex>5)wherezScolumn [values_block_0] can not be extracted individually; it is not data indexablevalues_block_0stringdf2)data_columns      df3r   )start)stop)r5   r7   
   )ABdf4Tr:   )tmmakeTimeDataFramer   r   r   r   r   select_columnappendreescape	TypeErrorassert_almost_equalvaluesr
   r+   
isinstance
ValueErrorcopynpnanlocr   randomrandnassert_series_equal)	r!   r#   r(   msgresultr0   r4   r;   expecteds	            r$   test_read_columnrQ   <   s5   				B	J	'	' H15eT"""
 ]8+KLLL 	/ 	/g...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	T2]BI&MNN
 
 
 	- 	- e,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-
 iTUU]9C000 	B 	Bgi[AAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B $$T733
v}fRX.>.>.EFFF&&))))) i'
 
 ]:S111 	8 	8&6777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 ggiiHUCxj999$$UH55
v}c(m.BCCC ggiiH,.F	!A#()UCxj999$$UH55
v}c(m.BCCC $$UHA$>>
v}c(m.B122.FGGG$$UHB$??
v}c(m.B233.GHHH$$UH1$==
v}c(m.B2A2.FGGG$$UH2$>>
v}c(m.B3B3.GHHH$$UHAB$GG
v}c(m.B1R4.HIII$$UHBQ$GG
v}c(m.B2a4.HIII bioob11>>??UCd333s8$$UC00
vx000QH1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1 H1s   ,T-A2&T-2A6	6T-9A6	:AT- C#T-#C'	'T-*C'	+2T-E7T-E	T-
E	BT-G>2T->H	T-H	LT--T14T1c                     t           | ddd          d          5 }|d         }t          |t                    sJ 	 d d d            d S # 1 swxY w Y   d S )Niodatazlegacy_hdf/pytables_native.h5r'   modezdetector/readout)r   rE   r   )datapathr(   d2s      r$   test_pytables_native_readrY      s    	v>??c
 
 
 )	%&"i((((((	) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s    AAAz#native2 read fails oddly on windows)reasonc                     t           | dddd          d          5 }t          |           |d         }t          |t                    sJ 	 d d d            d S # 1 swxY w Y   d S )NrS   rT   
legacy_hdfzpytables_native2.h5r'   rU   detector)r   strrE   r   )rW   r(   d1s      r$   test_pytables_native2_readr`      s    	v|-BCC#
 
 
 )	E


:"i(((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   /AA"Ac           	         t           | dddd          d          5 }|                    d          }t          g dgg d	t          d
gd                    }t	          j        ||           d d d            d S # 1 swxY w Y   d S )NrS   rT   r\   zlegacy_table_fixed_py2.h5r'   rU   r#   )   r      D)r9   r:   Crd   ABC
INDEX_NAME)namecolumnsr+   )r   selectr   r	   r<   assert_frame_equalrW   r(   rO   rP   s       r$   'test_legacy_table_fixed_format_read_py2rn      s     
v|-HIIPS
 
 
 	0	d##^^(((l333
 
 

 	h///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s   AA==BBc                 &   t           | dddd          d          5 }|                    d          }t          t          d          ggd	gt	          d
g                    }t          j        ||           d d d            d S # 1 swxY w Y   d S )NrS   rT   r\   z"legacy_table_fixed_datetime_py2.h5r'   rU   r#   z2020-02-06T18:00r9   dateri   )r   rk   r   r   r	   r<   rl   rm   s       r$   0test_legacy_table_fixed_format_read_datetime_py2rq      s     
v|-QRR
 
 
 
0 
d##*++,-E//
 
 

 	h///
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0 
0s   ABB
B
c                     t           | dddd          d          5 }|                    d          }d d d            n# 1 swxY w Y   t          dd	gd
dgd          }t          j        ||           d S )NrS   rT   r\   zlegacy_table_py2.h5r'   rU   tabler   r   r   rc   r   )r   rk   r   r<   rl   rm   s       r$   test_legacy_table_read_py2rt      s     
v|-BCC#
 
 
 '	g&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '
 SzA7788H(F+++++s   A  AAc                    t          t          j                            dd          t	          d          t	          d                    }d|j        _        |                    dd	          }| |z  }|                    |d
d           t          |d
          }t          |d          5 }t          |d
          }t          j        ||           |j        sJ 	 d d d            d S # 1 swxY w Y   d S )Nr2      abcdABCDEr+   rj   lettersETkeysr?   r#   wrU   r'   )r   rH   rK   randlistr+   rh   	set_indexr   r   r   r<   rl   is_open)r    r!   r#   r"   directr(   indirects          r$   test_read_hdf_open_storer      s*    
29>>!Q''tF||T']]	S	S	SBBHM	3t	,	,Bj DIIdDsI###dD!!F	$S	!	!	! UE4((
fh///}                 s   ,/C))C-0C-c                 0   t          t          j                            dd          g dt	          d                    }| |z  }|                    |ddd	           t          |d          }|j        j        j	        J t          j        ||           d S )
Nr2   rv   )r   rb   r   rc   rx   ry   r#   r~   rs   rV   format)r   rH   rK   r   r   r   r   r+   _databaser<   rl   )r    r!   r#   r"   r0   s        r$   test_read_hdf_index_not_viewr      s     
29>>!Q''|||T']]	S	S	SBj DIIdDs7I333
4

C9?'''"c"""""    c                 T   t          t          j                            dd          t	          d          t	          d                    }d|j        _        |                    dd	          }| |z  }|                    |d
dd           t          |d
          }t          |d
d          }t          |j                  5  t          |t                    sJ t          |                                          }t!          j        ||           d d d            d S # 1 swxY w Y   d S )Nr2   rv   rw   rx   ry   rz   r{   Tr|   r#   r~   tr   )iterator)r   rH   rK   r   r   r+   rh   r   r   r   r   r(   rE   r   next__iter__r<   rl   )r    r!   r#   r"   r   r   r   s          r$   test_read_hdf_iteratorr      sM   	29>>!Q''tF||T']]	S	S	SBBHM	3t	,	,Bj DIIdDs3I///dD!!FdT222H		 	  0 0(M22222))++,,
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   ADD!$D!c                    t          t          j                            dd          t	          d          t	          d                    }| |z  }|                    |dd           t          |          }t          j        ||           |                    |d	d           d
}t          j
        t          |          5  t          |           d d d            d S # 1 swxY w Y   d S )Nr2   rv   rw   rx   ry   r#   r   rU   r0   ?key must be provided when HDF5 file contains multiple datasets.r   )r   rH   rK   r   r   r   r   r<   rl   r   r   rF   r    r!   r#   r"   rereadrN   s         r$   test_read_nokeyr      s   	29>>!Q''tF||T']]	S	S	SB j DIIdDsI###d^^F"f%%%IIdEI$$$
KC	z	-	-	-                   s   CC"%C"c                    t          t          d          t          t          d          d          d          }| |z  }|                    |ddd	           t          |          }t          j        ||           |                    |d
dd	           d}t          j	        t          |          5  t          |           d d d            d S # 1 swxY w Y   d S )Nrv   abacdcategory)dtype)icr#   r   rs   r   r0   r   r   )r   r   r
   r   r   r   r<   rl   r   r   rF   r   s         r$   test_read_nokey_tabler     s   	qtG}}J(O(O(OPP	Q	QBj DIIdDs7I333d^^F"f%%%IIdEGI444
KC	z	-	-	-                   s   4CCCc                    | |z  }t          |          }|                                 t          j        d          }t	          j        t          |          5  t          |           d d d            d S # 1 swxY w Y   d S )Nz]Dataset(s) incompatible with Pandas data types, not table, or no datasets found in HDF5 file.r   )r   closer@   rA   r   r   rF   r   )r    r!   r"   r(   rN   s        r$   test_read_nokey_emptyr     s    j DTNNE	KKMMM
)	' C 
z	-	-	-                   s   A55A9<A9c                 <   t          t          j                            dd          t	          d          t	          d                    }| |z  }t          |          }|                    |dd           t          |d          }t          j	        ||           d S )	Nr2   rv   rw   rx   ry   r#   r   rU   )
r   rH   rK   r   r   r   r   r   r<   rl   )r    r!   rP   filenamepath_objactuals         r$   test_read_from_pathlib_pathr      s    
	q!DLL$w--  H *$HH~~HOOHdO---h%%F(F+++++r   zpy.pathc                 @   ddl m} t          t          j                            dd          t          d          t          d                    }| |z  } ||          }|                    |dd	
           t          |d          }t          j
        ||           d S )Nr   )localr2   rv   rw   rx   ry   r#   r   rU   )py.pathr   r   rH   rK   r   r   r   r   r<   rl   )r    r!   	LocalPathrP   r   r   r   s          r$   test_read_from_py_localpathr   .  s     +*****
	q!DLL$w--  H *$Hy""HOOHdO---h%%F(F+++++r   r   fixedrs   c                     t          j                    }| |z  }|                    |d|           t          |dd          }t          j        ||           d S )NrT   )keyr   r'   )r   rV   )r<   makeFloatSeriesr   r   rM   )r    r   r!   seriesr"   rO   s         r$   test_read_hdf_series_mode_rr   ?  sa    
 !!Fj D
MM$F6M222dS111F66*****r   c                     t          g dt          j        g dd                    }t           | dddd	          d
          5 }|d         }t	          j        ||           d d d            d S # 1 swxY w Y   d S )N)g      ?r   rc   )z
2015-01-01z
2015-01-02z
2015-01-05r:   )freq)r+   rS   rT   r\   z*periodindex_0.20.1_x86_64_darwin_2.7.13.h5r'   rU   p)r   pdPeriodIndexr   r<   rl   )rW   rP   r(   rO   s       r$   test_read_py2_hdf_file_in_py3r   K  s     nGGGcRRR  H
 
&,(T	
 	
 	
 
 
 0
 
s
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   A22A69A6)5
contextlibr   pathlibr   r@   numpyrH   r   pandas._libs.tslibsr   pandas.compatr   pandasr   r   r   r	   r
   r   r<   r   pandas.tests.io.pytables.commonr   r   pandas.utilr   tdpandas.io.pytablesr   mark
single_cpu
pytestmarkr%   r)   rQ   rY   skipifr`   rn   rq   rt   r   r   r   r   r   r   r   
skip_if_nor   parametrizer   r    r   r$   <module>r      s               				      ) ) ) ) ) ) - - - - - -                           / . . . . . , , , , , ,[#
    K1 K1 K1\) ) ) ''))2WXX) ) YX)0 0 00 0 0 	, 	, 	,   # # #0 0 0  "  	 	 	, , , y, , ,  GW#566+ + 76+0 0 0 0 0r   