
    A>i'                        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r	S SKJ
r
JrJrJrJrJrJr  S SKJr  \R(                  R*                  /rS rS rS rS	 rS
 r\R(                  R9                  \" 5       SS9S 5       rS rS rS r S r!S r"S r#S r$\R(                  RK                  SSS/5      S 5       r&S r'S r(g)    )closingN)is_platform_windows)	DataFrameHDFStoreIndexSeries_testing
date_rangeread_hdf)TableIteratorc                    [        [        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   temp_h5_pathdfs     a/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_read.py!test_read_missing_key_close_storer"      sd    	qa1	2BIIlI%	x'I	Jt$ 
K
 IIlI% 
K	Js   
A00
A>c                     [        / / 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_storer+   &   s`    	"%R	0BIIlI%	z)C	Dt!, 
E
 IIlI% 
E	Ds   A
A*c                 F   [        [        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    stores      r!   "test_read_missing_key_opened_storer/   3   sx    	qa1	2BIIlI%	,	$]]8+MNUD! O
 	 
%	$NN 
%	$s#   BB$B
B	B
B c           
      J
   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9n[        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        [+        U[&        5      (       d   e[        R                  " S5      n[        R                  " [,        US
9   U R                  SS5        S S S 5        UR/                  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R/                  5       nSUS'   [        R0                  UR2                  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[         R4                  " X75        g ! , (       d  f       GNe= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNF= f)!Nr   )
      ABCDz
2000-01-01r1   r&   )periodsfreq)columnsr'   zNo object named df in the filer   r    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_columnsr2      df3)startr(   )r?   r)   r$   df4T)r   nprandomdefault_rngstandard_normalr   listr
   r   r   r   select_columnappendreescape	TypeErrortmassert_almost_equalvaluesr   r'   
isinstance
ValueErrorcopynanlocassert_series_equal)temp_hdfstorer    msgresultr;   r>   rA   expecteds           r!   test_read_columnrY   A   sF   	
		a 009d6l#r<
B 
x'G	H##D'2 
I r"			"IJ
 	##D%0

 ))P
QC	y	,##D')#E 
- ((w7F6==&*:*A*ABff%%%% ))	#C 
z	-##D*:; 
. '')CCM8*=((9F6==#h-*>*>? '')CCM(*CGGCIIaNH$%8*=((9F6==#h-*>*>? (((BF6==#h-*>*>qr*BC(((CF6==#h-*>*>rs*CD((q(AF6==#h-*>*>r*BC((r(BF6==#h-*>*>s*CD(((KF6==#h-*>*>q*DE(((KF6==#h-*>*>r!*DE "))//2BB2FUS
TC$73xH((4F6,E 
I	H

 
 
-	, 
.	-s0   ,SS/TT
S,/
S>
T
T"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.h5r-   modezdetector/readout)r   rO   r   )datapathr.   d2s      r!   test_pytables_native_readra      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)Nr[   r\   
legacy_hdfzpytables_native2.h5r-   r]   detector)r   strrO   r   )r_   r.   d1s      r!   test_pytables_native2_readrh      sT    	v|-BC#
	E
:	

 b)$$$$
 
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UR                  U S
SS9  [        U S
5      n[        U SS9 n[        US
5      n[        R                  " X55        UR                  (       d   e S S S 5        g ! , (       d  f       g = f)Nr   r2      abcdABCDEr'   r6   lettersETkeysrH   r    wr   r^   r-   r]   )r   rB   rC   rD   rF   r'   name	set_indexr   r   r   rL   assert_frame_equalis_open)r   using_infer_stringr    directr.   indirects         r!   test_read_hdf_open_storer|      s     

		a ''/6lW
B
 BHHM	3t	,BIIl3I/lD)F	,S	)UE4(
f/}}} 
*	)	)s   6C
C c                 6   [        [        R                  R                  S5      R                  S5      / SQ[	        S5      S9nUR                  U SSSS	9  [        U S5      nUR                  R                  R                  b   e[        R                  " X5        g )
Nr   rj   )r      r      rm   rn   r    rs   tabler   r^   format)r   rB   rC   rD   rF   r   r   r'   _databaserL   rw   )r   r    r;   s      r!   test_read_hdf_index_not_viewr      s     

		a ''/W
B IIl3wI?
<
&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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   rj   rl   rm   rn   ro   rp   Trq   r    rs   tr   )iterator)r   rB   rC   rD   rF   r'   ru   rv   r   r   r   r.   rO   r   next__iter__rL   rw   )r   r    rz   r   r{   s        r!   test_read_hdf_iteratorr      s    	
		a ''/6lW
B
 BHHM	3t	,BIIl3sI;lD)FdT:H		 (M2222))+, 
! &(+ 
!	 s   )1C::
Dc                    [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9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   rj   rl   rm   rn   r    r   rt   r;   ?key must be provided when HDF5 file contains multiple datasets.r   )r   rB   rC   rD   rF   r   r   rL   rw   r   r   rP   r   r    rereadrV   s       r!   test_read_nokeyr      s    	
		a ''/6lW
B IIl3I/l#F"%IIlCI0
KC	z	- 
.	-	-s   (B==
Cc                 ^   [        [        S5      [        [        S5      SS9S.5      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)Nrk   abacdcategorydtype)icr    r   r   r   r;   r   r   )r   r   r   rF   r   r   rL   rw   r   r   rP   r   s       r!   test_read_nokey_tabler      s    	qtG}J(OP	QBIIl3wI?l#F"%IIlCI@
KC	z	- 
.	-	-s   	B
B,c                     [        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   closerI   rJ   r   r   rP   r   )r   r.   rV   s      r!   test_read_nokey_emptyr      sL    \"E	KKM
))	'C 
z	- 
.	-	-s   A  
A.c                     [        [        R                  R                  S5      R                  S5      [	        S5      [	        S5      S9nUR                  U SSS9  [        U SS	9n[        R                  " X5        g )
Nr   rj   rl   rm   rn   r    r   rt   r   )	r   rB   rC   rD   rF   r   r   rL   rw   )r   rX   actuals      r!   test_read_from_pathlib_pathr     se    
		a ''/6lWH OOLdO5l-F(+r   r   fixedr   c                     [        [        S5      [        R                  S9nUR	                  U SUS9  [        U SSS9n[        R                  " X25        g )Nr1   r   r\   r   r   r-   rt   )r   r   rB   float64r   r   rL   rT   )r   r   seriesrW   s       r!   test_read_hdf_series_mode_rr     sF    
 E"IRZZ0F
MM,F6M:lS9F6*r   c                    [        S/ SQ05      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[        R
                  " [        R                  S
9[        S/[        R
                  " [        R                  S
9S9S9n[        R                  " WU5        g ! , (       d  f       N~= f)Nr   )r   r   Nr\   r   r   zfuture.infer_stringTr-   rt   )na_valuer   )r   r6   )r   r   pdoption_contextr   StringDtyperB   rR   r   rL   rw   )r   r    rW   rX   s       r!   test_read_infer_stringr     s    	C)*	+BIIlwI7			0$	7,F= 
8	nnbff-se2>>266#BCH
 &(+ 
8	7s   B<<
C
c                     [        SS/SS9nU R                  SU5        U R                  S5      n[        R                  " X5        g )Nz
2001-01-01z
2002-02-02zdatetime64[s]r   df_s)r   putgetrL   rw   )rU   r   df_fromstores      r!   $test_hdfstore_read_datetime64_unit_sr   ,  sA    lL1IDfd# $$V,L$-r   ))
contextlibr   rI   numpyrB   r   pandas.compatr   pandasr   r   r   r   r   r	   rL   r
   r   pandas.io.pytablesr   mark
single_cpu
pytestmarkr"   r+   r/   rY   ra   skipifrh   r|   r   r   r   r   r   r   parametrizer   r   r    r   r!   <module>r      s     	   -    -kk$$%

&
&L-^% ')2WX% Y%&#",$(, GW#56+ 7+,.r   