
    Mh3                     l   S SK Jr  S SKJr  S SKrS SKrS SKrS SKJ	r	  S SK
Jr  S SKrS SKJrJrJrJrJrJrJr  S SKJrJr  S SKJr  S S	KJr  \R<                  R>                  r S
 r!S r"S r#S r$S r%\R<                  RM                  \" 5       SS9S 5       r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1\Rd                  " S5      S 5       r3\R<                  Ri                  SSS /5      S! 5       r5\R<                  Rm                  S"5      \R<                  Rm                  S#5      S$ 5       5       r7S% r8g)&    )closing)PathN)	Timestamp)is_platform_windows)	DataFrameHDFStoreIndexSeries_testing
date_rangeread_hdf)_maybe_removeensure_clean_store)_test_decorators)TableIteratorc                 
   X-  n[        [        S5      [        S5      S.5      nUR                  USS9  [        R                  " [
        SS9   [        US5        S S S 5        UR                  USS9  g ! , (       d  f       N= f)N   abk1key 'No object named k2 in the file'matchk2)r   rangeto_hdfpytestraisesKeyErrorr   tmp_path
setup_pathpathdfs       T/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/pytables/test_read.py!test_read_missing_key_close_storer)       sl     D	qa1	2BIIdI	x'I	Jt 
K
 IIdI 
K	Js   A44
Bc                     X-  n[        / / S./ S9nUR                  USS9  [        R                  " [        SS9   [        USSS9  S S S 5        UR                  USS9  g ! , (       d  f       N= f)	NABindexr   r   zlist index out of ranger   r   stop)r   r   r    r!   
IndexErrorr   r#   s       r(   !test_read_index_error_close_storer3   .   sh     D	"%R	0BIIdI	z)C	Dt!$ 
E
 IIdI 
E	Ds   A  
A.c                 N   X-  n[        [        S5      [        S5      S.5      nUR                  USS9  [        US5       n[        R
                  " [        SS9   [        US5        S S S 5        [        US5        S S S 5        g ! , (       d  f       N#= f! , (       d  f       g = f)	Nr   r   r   r   rr   r   r   )r   r   r   r   r    r!   r"   r   )r$   r%   r&   r'   stores        r(   "test_read_missing_key_opened_storer7   <   s     D	qa1	2BIIdI	$	]]8+MNUD! O
 	 
	NN 
	s$   BB(B
B	B
B$c           
      
   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        U 5       n[        US
5        [        R                  " [        SS9   UR                  S
S5        S S S 5        UR                  S
U5        [        R                  " [        [         R"                  " S5      S9   UR                  S
S5        S S S 5        [         R"                  " S5      n[        R                  " [$        US9   UR                  S
SS/S9  S S S 5        UR                  S
S5      n[&        R(                  " UR*                  [-        UR.                  5      R*                  5        [1        U[,        5      (       d   e[         R"                  " S5      n[        R                  " [2        US9   UR                  S
S5        S S S 5        UR5                  5       nSUS'   UR                  SUS/S9  UR                  SS5      n[&        R(                  " UR*                  US   R*                  5        UR5                  5       nSUS'   [        R6                  UR8                  UR.                  SS S4'   UR                  SUS/S9  UR                  SS5      n[&        R(                  " UR*                  US   R*                  5        UR                  SSSS9n[&        R(                  " UR*                  US   R*                  SS  5        UR                  SSSS9n[&        R(                  " UR*                  US   R*                  SS  5        UR                  SSSS9n[&        R(                  " UR*                  US   R*                  S S 5        UR                  SSSS9n[&        R(                  " UR*                  US   R*                  S S 5        UR                  SSSSS9n[&        R(                  " UR*                  US   R*                  SS 5        UR                  SSSSS9n[&        R(                  " UR*                  US   R*                  SS 5        [        [        R                  R                  S5      R	                  S5      SS.5      nUR                  S US!S9  US   nUR                  S S5      n[&        R:                  " XH5        S S S 5        g ! , (       d  f       GNm= f! , (       d  f       GN%= f! , (       d  f       GN= f! , (       d  f       GNN= f! , (       d  f       g = f)"Nr   )
      ABCDdtypez
2000-01-01r9   r-   )periodsfreqcolumnsr/   r'   zNo object named df in the filer   r/   z%'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_columnsr:      df3)startr0   )rJ   r1   r+   df4T)r   nprandomdefault_rngstandard_normalr	   listobjectr   r   r   r    r!   r"   select_columnappendreescape	TypeErrortmassert_almost_equalvaluesr
   r/   
isinstance
ValueErrorcopynanlocassert_series_equal)	r%   r'   r6   msgresultrF   rI   rL   expecteds	            r(   test_read_columnrd   K   se   	
		a 009d6l&1r<
B 
J	'5eT"
 ]]8+KLg. M 	T2]]BII&MN
 e,

 iiTU]]9C0gi[A 1 $$T73
v}}fRXX.>.E.EF&&)))) ii'
 ]]:S1&67 2 ggiHUCxj9$$UH5
v}}c(m.B.BC ggiH,.FF		!A()UCxj9$$UH5
v}}c(m.B.BC $$UHA$>
v}}c(m.B.B12.FG$$UHB$?
v}}c(m.B.B23.GH$$UH1$=
v}}c(m.B.B2A.FG$$UH2$>
v}}c(m.B.B3B.GH$$UHAB$G
v}}c(m.B.B1R.HI$$UHBQ$G
v}}c(m.B.B2a.HI bii33A6FFrJQVWXUCd3s8$$UC0
v0Q 
(	' ML

 
 10 21= 
(	'so   !&UT AU!T47U+T$>BUT6/LU 
T	
U
T!	U$
T3	.U6
U	 U
Uc                     [        U " SSS5      SS9 nUS   nS S S 5        [        W[        5      (       d   eg ! , (       d  f       N&= f)Niodatazlegacy_hdf/pytables_native.h5r5   modezdetector/readout)r   r[   r   )datapathr6   d2s      r(   test_pytables_native_readrl      sL    	v>?c
	%&
 b)$$$$	
 
s	   9
Az#native2 read fails oddly on windows)reasonc                     [        U " SSSS5      SS9 n[        U5        US   nS S S 5        [        W[        5      (       d   eg ! , (       d  f       N&= f)Nrf   rg   
legacy_hdfzpytables_native2.h5r5   rh   detector)r   strr[   r   )rj   r6   d1s      r(   test_pytables_native2_readrs      sT    	v|-BC#
	E
:	

 b)$$$$
 
s   A
Ac           	          [        U " SSSS5      SS9 nUR                  S5      nS S S 5        [        / SQ// S	Q[        S
/SS9S9n[        R
                  " UW5        g ! , (       d  f       N?= f)Nrf   rg   ro   zlegacy_table_fixed_py2.h5r5   rh   r'   )   r      D)r,   r-   Crw   ABC
INDEX_NAME)namer@   )r   selectr   r	   rX   assert_frame_equalrj   r6   rb   rc   s       r(   'test_legacy_table_fixed_format_read_py2r      sr     
v|-HIPS
	d#
 	$UG,/H
 (F+
 
s   A
A-c                     [        [        S5      //S/[        S/5      SS9n[        U " SSSS	5      S
S9 nUR	                  S5      nS S S 5        [
        R                  " UW5        g ! , (       d  f       N&= f)Nz2020-02-06T18:00r,   datezM8[ns])rA   r/   r=   rf   rg   ro   z"legacy_table_fixed_datetime_py2.h5r5   rh   r'   )r   r   r	   r   r|   rX   r}   rj   rc   r6   rb   s       r(   0test_legacy_table_fixed_format_read_datetime_py2r      s     
&
'	()VHo	H 
v|-QR
 
d#	

 (F+
 
s   A((
A6c                     [        U " SSSS5      SS9 nUR                  S5      nS S S 5        [        SS	/S
S/S.5      n[        R                  " UW5        g ! , (       d  f       N8= f)Nrf   rg   ro   zlegacy_table_py2.h5r5   rh   tabler   r   r   rv   r   )r   r|   r   rX   r}   r~   s       r(   test_legacy_table_read_py2r      sg     
v|-BC#
	g&

 SzA78H(F+
 
s   A
A&c                    [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9nSUR
                  l        UR                  SSS	9nX-  nUR                  US
SS9  [        US
5      n[        USS9 n[        US
5      n[        R                  " XF5        UR                  (       d   e S S S 5        g ! , (       d  f       g = f)Nr   r:      abcdABCDEr/   rA   lettersETkeysrT   r'   wr   ri   r5   rh   )r   rM   rN   rO   rQ   r/   r{   	set_indexr   r   r   rX   r}   is_open)r$   r%   r'   r&   directr6   indirects          r(   test_read_hdf_open_storer      s     

		a ''/6lW
B
 BHHM	3t	,B DIId3I'dD!F	$S	!UE4(
f/}}} 
"	!	!s   6C
C$c                 >   [        [        R                  R                  S5      R                  S5      / SQ[	        S5      S9nX-  nUR                  USSSS	9  [        US5      nUR                  R                  R                  b   e[        R                  " X$5        g )
Nr   r   )r   ru   r   rv   r   r   r'   r   r   r   ri   format)r   rM   rN   rO   rQ   r   r   r/   _databaserX   r}   )r$   r%   r'   r&   rF   s        r(   test_read_hdf_index_not_viewr      s     

		a ''/W
B  DIId3wI7
4
C99??'''""    c                    [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9nSUR
                  l        UR                  SSS	9nX-  nUR                  US
SSS9  [        US
5      n[        US
SS9n[        UR                  5         [        U[        5      (       d   e[        UR                  5       5      nS S S 5        [         R"                  " UW5        g ! , (       d  f       N&= f)Nr   r   r   r   r   r   r   Tr   r'   r   tr   )iterator)r   rM   rN   rO   rQ   r/   r{   r   r   r   r   r6   r[   r   next__iter__rX   r}   )r$   r%   r'   r&   r   r   r   s          r(   test_read_hdf_iteratorr     s    	
		a ''/6lW
B
 BHHM	3t	,B DIId3sI3dD!FdT2H		 (M2222))+, 
! &(+ 
!	 s   -1C>>
Dc                    [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9nX-  nUR                  USSS9  [        U5      n[        R                  " X$5        UR                  US	SS9  S
n[        R                  " [        US9   [        U5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r   r'   r   r   rF   ?key must be provided when HDF5 file contains multiple datasets.r   )r   rM   rN   rO   rQ   r   r   rX   r}   r    r!   r\   r$   r%   r'   r&   rereadra   s         r(   test_read_nokeyr     s    	
		a ''/6lW
B  DIId3I'd^F"%IIdCI(
KC	z	- 
.	-	-s   ,C
Cc                 f   [        [        S5      [        [        S5      SS9S.5      nX-  nUR	                  USSSS	9  [        U5      n[        R                  " X$5        UR	                  US
SSS	9  Sn[        R                  " [        US9   [        U5        S S S 5        g ! , (       d  f       g = f)Nr   abacdcategoryr<   )icr'   r   r   r   rF   r   r   )r   r   r
   rQ   r   r   rX   r}   r    r!   r\   r   s         r(   test_read_nokey_tabler   )  s    	qtG}J(OP	QB DIId3wI7d^F"%IIdCI8
KC	z	- 
.	-	-s   B""
B0c                     X-  n[        U5      nUR                  5         [        R                  " S5      n[        R
                  " [        US9   [        U5        S S S 5        g ! , (       d  f       g = f)Nz]Dataset(s) incompatible with Pandas data types, not table, or no datasets found in HDF5 file.r   )r   closerU   rV   r    r!   r\   r   )r$   r%   r&   r6   ra   s        r(   test_read_nokey_emptyr   8  sR     DTNE	KKM
))	'C 
z	- 
.	-	-s   A$$
A2c                    [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9nX-  n[        U5      nUR                  USSS9  [        USS	9n[        R                  " X%5        g )
Nr   r   r   r   r   r'   r   r   r   )
r   rM   rN   rO   rQ   r   r   r   rX   r}   )r$   r%   rc   filenamepath_objactuals         r(   test_read_from_pathlib_pathr   D  sv    
		a ''/6lWH
 $HH~HOOH$SO1hD)F(+r   zpy.pathc                    SSK Jn  [        [        R                  R                  S5      R	                  S5      [        S5      [        S5      S9nX-  nU" U5      nUR                  USS	S
9  [        USS9n[        R                  " X65        g )Nr   )localr   r   r   r   r   r'   r   r   r   )py.pathr   r   rM   rN   rO   rQ   r   r   rX   r}   )r$   r%   	LocalPathrc   r   r   r   s          r(   test_read_from_py_localpathr   T  s|     +
		a ''/6lWH
 $H"HOOH$SO1hD)F(+r   r   fixedr   c                     [        [        S5      [        R                  S9nX-  nUR	                  USUS9  [        USSS9n[        R                  " XS5        g )Nr9   r<   rg   r   r   r5   r   )r
   r   rM   float64r   r   rX   r`   )r$   r   r%   seriesr&   rb   s         r(   test_read_hdf_series_mode_rr   g  sN    
 E"IRZZ0F D
MM$F6M2dS1F6*r   z8ignore:Period with BDay freq is deprecated:FutureWarningz3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                     [        / SQ[        R                  " / SQSS9S9n[        U " SSSS	5      S
S9 nUS   nS S S 5        [        R
                  " WU5        g ! , (       d  f       N&= f)N)g      ?r   rv   )z
2015-01-01z
2015-01-02z
2015-01-05r-   )r?   r.   rf   rg   ro   z*periodindex_0.20.1_x86_64_darwin_2.7.13.h5r5   rh   p)r   pdPeriodIndexr   rX   r}   r   s       r(   test_read_py2_hdf_file_in_py3r   s  sq     nnGcRH
 
&,(T	
 	

 
s
 &(+
 
s   A
A)c           	      N   [         R                  " S5        [        S/ SQ05      nX-  nUR                  USSS9  [        R
                  " SS5         [        USS	S
9nS S S 5        [        S/ SQ0S[        S/SS9S9n[        R                  " WU5        g ! , (       d  f       N>= f)Npyarrowr   )r   r   Nrg   r   r   zfuture.infer_stringTr5   r   zstring[pyarrow_numpy]r<   )r=   rA   )
r    importorskipr   r   r   option_contextr   r	   rX   r}   )r$   r%   r'   r&   rb   rc   s         r(   test_read_infer_stringr     s    
	"	C)*	+B DIIdwI/			0$	7$F5 
8	%se#:;H
 &(+ 
8	7s   B
B$)9
contextlibr   pathlibr   rU   numpyrM   r    pandas._libs.tslibsr   pandas.compatr   pandasr   r   r   r	   r
   r   rX   r   r   pandas.tests.io.pytables.commonr   r   pandas.utilr   tdpandas.io.pytablesr   mark
single_cpu
pytestmarkr)   r3   r7   rd   rl   skipifrs   r   r   r   r   r   r   r   r   r   r   
skip_if_nor   parametrizer   filterwarningsr   r    r   r(   <module>r      sM     	   ) -    / ,[[##
O1d% ')2WX% Y%,,"	,(#$,&*	,  y, ,$ GW#56+ 7+ WXRS, T Y,4,r   