
    m*i6                        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Jr  S SKJrJr  S SKJr  \R.                  R0                  /rS rS rS rS	 rS
 rS r\R@                  S 5       r!S r"S r#S r$S r%\R.                  RM                  SSS/5      \R.                  RM                  S\
" \'" S5       V s/ s H  n \(" U 5      PM     sn 5      \
" \RR                  " S\*S95      \
" \RR                  " S5      5      \" SSS9\RV                  " SSS9/5      S 5       5       r,S r-S r.\R.                  RM                  SSS/5      S 5       r/gs  sn f )    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingconcat
date_range)_maybe_removeensure_clean_store)_test_decoratorsc                 :   [        SSS/05      n[        X-  5       nUR                  SUSS9  UR                  SUSS9  UR                  S5      R                  S:X  d   eUR                  S5      R                  S:X  d   e S S S 5        g ! , (       d  f       g = f)	NA      afixedformatbtable)r   r   put
get_storerformat_type)tmp_path
setup_pathdfstores       a/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_put.pytest_format_typer!      s    	C!Q=	!B	('	(E		#r'	*		#r'	*$00G;;;$00G;;; 
)	(	(s   A%B
Bc                     Sn[         R                  " [        US9   [        X-  SS9  S S S 5        g ! , (       d  f       g = f)Nz-format is not a defined argument for HDFStorematchr   r   )pytestraises
ValueErrorr   )r   r   msgs      r     test_format_kwarg_in_constructorr)   &   s0     :C	z	-&w7 
.	-	-s	   2
A c                 N   [        U5       n[        S[        R                  " S5      R	                  S5      -  [        [        S5      5      [        [        S5       Vs/ s H  nSU 3PM
     sn5      S9n[        R                  " SS	5         [        US
5        UR                  S
U5        UR                  S
5      R                  (       a   eSn[        R                  " [         US9   UR#                  SU5        S S S 5        S S S 5        [        R                  " SS5         [        US
5        UR                  S
U5        UR                  S
5      R                  (       d   e[        US5        UR#                  SU5        UR                  S
5      R                  (       d   e S S S 5        S S S 5        X-  n[        S[        R                  " S5      R	                  S5      -  [        [        S5      5      [        [        S5       Vs/ s H  nSU 3PM
     sn5      S9n[        R                  " SS	5         UR%                  US
S9  ['        U5       nUR                  S
5      R                  (       a   e S S S 5        [        R                  " [         WS9   UR%                  USSS9  S S S 5        S S S 5        [        R                  " SS5         UR%                  USS9  ['        U5       nUR                  S5      R                  (       d   e S S S 5        UR%                  USSS9  ['        U5       nUR                  S5      R                  (       d   e S S S 5        S S S 5        g s  snf ! , (       d  f       GN|= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= fs  snf ! , (       d  f       GNL= f! , (       d  f       GN+= f! , (       d  f       GN5= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Ng?x   )      ABCDr,   zi-columnsindexzio.hdf.default_formatr   r   Can only append to Tablesr#   df2r   )keyT)r4   appenddf3df4)r   r   nparangereshaper   listrangepdoption_contextr   r   r   is_tabler%   r&   r'   r5   to_hdfr   )r   r   r   ir   r(   paths          r    test_api_default_formatrC   /   s   	J	'5"))C.((11$v,'5959a2aS956
 6@%&IIdB''-6666-Cz5UB' 6 A 6@%&IIdB##D)2222%'LL###D)2222 A! 
(2  D	biin$$W--d6l#uRy1y!r!Xy12
B 
		2G	<
		$D	!d^u''-66666 ]]:S1IIddI3 2	 
= 
		2G	<
		$E	"d^u##E*3333 
		$E$	/d^u##E*3333  
=	<G 6 65 A@ A@! 
(	': 2
 ^11	 
=	< ^ ^ 
=	<s   AN'M,- N'AN)M1<NN'#BN%N'
N99O"#N>9!O"O,O"P/#O4$P7#PP,N'1
N ;N
N	N'
N$	N''
N6>
O	O"
O	O""
O14
P	>P
P	P
P$c                    [        U 5       n[        [        R                  " S[        R                  S9[        SSS9S9n[        [        R                  R                  S5      R                  S5      [        [        S5      5      [        S	S
SS9S9nX!S'   US S US'   US S US'   US S US'   US S US'   UR                  SUS S SS9  Sn[        R                  " [        US9   UR                  SUSS  SS9  S S S 5        [!        US5        [        R                  " [        US9   UR                  SUSS  SS9  S S S 5        [        R                  " [        US9   UR                  SUSS  SS9  S S S 5        UR                  SUS S SSS9  ["        R$                  " US S US   5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nk= f! , (       d  f       g = f)N
   dtype
2020-01-01periodsr1   r   )   r-   r.   
2000-01-01rL   BrJ   freqr/   r   r   zfoo/bar/bahfooz/foocr   r   r2   r#   T)r5   fF)r   r5   )r   r   r8   r9   float64r   r   randomdefault_rngstandard_normalr   r;   r   r%   r&   r'   r   tmassert_frame_equal)r   r   tsr   r(   s        r    test_putr[   a   s   	J	'5IIb

+:lTV3W
 II!!!$44W=$v,'\2C@

 c
Wc
!#2wm#2we3Bf		#r#2ww	/ *]]:S1IIc2bc74I0 2
 	eS!]]:S1IIc2bc74I0 2 ]]:S1IIc2bc74I0 2 			#r#2wwu	=
b"guSz2C 
(	'$ 21 21 219 
(	'sT   CG(%F5:-G('G<!G(G2:G(5
G	?G(
G	G(
G%	!G((
G6c           	         [        U 5       n[        [        S5       Vs/ s H  nSU 3PM
     sn5      n[        [        R
                  " S5      US9n[        XDS.5      nXAS'   [        R                  " US   U5        XQS'   [        R                  " US   U5        [        S/[        S5       Vs/ s H  nSU 3PM
     sn-   5      n[        [        R
                  " S5      US9n[        XDS.5      nXAS'   [        R                  " US   U5        XQS'   [        R                  " US   U5        S S S 5        g s  snf s  snf ! , (       d  f       g = f)	NrL   zI am a very long string index: rK   )r   rN   r   r   $abcdefghijklmnopqrstuvwxyz1234567890   )
r   r   r<   r   r8   r9   r   rX   assert_series_equalrY   )r   r   rA   r1   sr   s         r    test_put_string_indexra      s1   	J	'5eBiPi8<iPQ299R=.Q'(c

uSz1-c

eCj"- 34>CBiHi04iHI
 299R=.Q'(c

uSz1-c

eCj"-- 
(	'P I 
(	's)   ED8
BE0D=?A0E8
E
Ec                    [        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      5      [        SSSS9S9nUR                  S	US
SS9  [        R                  " US	   U5        Sn[        R                  " [        US9   UR                  SUSSS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   rE   r-   r.   rM   rE   rN   rO   r/   rR   r   zlibr   complib0Compression not supported on Fixed format storesr#   r   r   )r   r   r8   rU   rV   rW   r   r;   r   r   rX   rY   r%   r&   r'   )r   r   r   r(   s       r    test_put_compressionrh      s    	J	'5II!!!$44W=$v,'\2C@
 			#r'6	:
eCj"- A]]:S1IIc2gvI> 2 
(	' 21 
(	's$   BC&C
9C

C	C
C)c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9n[        U 5       nS	n[        R                  " [        US
9   UR                  SUSSS9  S S S 5        UR                  SUSSS9  [        R                  " US   U5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nr   rc   r.   rM   rE   rN   rO   r/   rg   r#   r   r   bloscre   rR   r   )r   r8   rU   rV   rW   r   r;   r   r   r%   r&   r'   r   rX   rY   )r   r   r   r(   s       r    test_put_compression_bloscrk      s    	
		a 009d6l#r<
B 
J	'5@]]:S1IIc2gwI? 2 			#r'7	;
eCj"- 
(	' 21 
(	's$   C:C
4C

C	C
C)c                 .   [        S[        S5      R                  S5      /-  5      n[        U 5       nUR	                  SU5        UR                  5       nUR                  S5      n[        R                  " XC5        S S S 5        g ! , (       d  f       g = f)N   20010102nsser)	r   r   as_unitr   r   copygetrX   r_   )r   rp   r   expectedresults        r    test_put_datetime_serrv      so    
i
+33D9::
;C	J	'5		%88:5!
v0	 
(	'	's   A
B
Bc           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nS	US
'   SUS'   US   S:  US'   US   S:  US'   SUS'   SUS'   SUS'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   [        R                  UR                  UR                  SS S
/4'   UR                  5       n[        U 5       n[        US5        U(       a  S O[         R"                  R$                  n[&        R(                  " U5         UR+                  SU5        S S S 5        UR-                  S5      n[&        R.                  " XR5        S S S 5        g ! , (       d  f       N>= f! , (       d  f       g = f) Nr   rc   r.   rM   rE   rN   rO   r/   rQ   obj1barobj2r   r   bool1bool2Tbool3r   int1int2rn   ro   
timestamp120010103
timestamp2	datetime1	datetime2rm      r   )r   r8   rU   rV   rW   r   r;   r   r   rq   nanlocr1   _consolidater   r   r=   errorsPerformanceWarningrX   assert_produces_warningr   rs   rY   )r   using_infer_stringr   r   warningrt   s         r    test_put_mixed_typer      s   	
		a 009d6l#r<
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,44T:B| ,44T:B|
+33D9B{O
+33D9B{O&(ffBFF288Aa=6("#		B	J	'5eT",$"))2N2N''0IIdB 1 99T?
h+ 
(	' 10	 
(	's%   >AG G/G 
G	G  
G.c                    [         R                  " U6 n[        S[         R                  " S[         R                  S/US905      n[        U 5       n[        US5        UR                  SU5        UR                  [        R                  L a  SOSnUR                  U5      nUR                  S5      n[        R                  " Xv5        S S S 5        g ! , (       d  f       g = f)Nr   xyrF   r   strstring)r=   StringDtyper   arrayNAr   r   r   na_valuer8   r   astypers   rX   rY   )r   string_dtype_argumentsrG   r   r   expected_dtypert   ru   s           r    test_put_str_framer      s    NN23E	C3s"35AB	CB	J	'5eT"		$"'..BFF":99^,4
f/ 
(	'	's   A8C
Cc                    [         R                  " U6 n[        S[         R                  S/US9n[	        U 5       n[        US5        UR                  SU5        UR                  [        R                  L a  SOSnUR                  U5      nUR                  S5      n[        R                  " Xv5        S S S 5        g ! , (       d  f       g = f)Nr   r   rF   r   rp   r   r   )r=   r   r   r   r   r   r   r   r8   r   r   rs   rX   r_   )r   r   rG   rp   r   r   rt   ru   s           r    test_put_str_seriesr      s    NN23E
#ruuc"%
0C	J	'5eT"		%"'..BFF":::n-5!
v0 
(	'	's   A8B;;
C	r   r   r   r1   rE   rF   rH   rI   c                 8   [        U 5       n[        [        R                  R	                  S5      R                  S5      [        S5      US9n[        US5        UR                  SXAS9  [        R                  " XCS   5        S S S 5        g ! , (       d  f       g = f)Nr   )rE   r   ABr/   r   r   )r   r   r8   rU   rV   rW   r;   r   r   rX   rY   )r   r   r1   r   r   s        r    test_store_index_typesr     sy     
J	'5II!!!$44W=J

 	eT"		$	*
b+. 
(	'	's   A6B
Bc           	      L   [         R                  " / SQSS/S9n[        [        R                  " S5      R                  SS5      US9nUR                  UR                  R                  5       5      n[        U 5       nU(       a@  S	n[        R                  " [        US
9   UR                  SU5        S S S 5         S S S 5        g UR                  SU5        [        R                  " US   USSS9  UR                  SUSS9  [        R                  " US   USSS9  [         R"                  " S5      n[        R                  " [$        US
9   UR                  SUSS/S9  S S S 5        [         R"                  " S5      n[        R                  " [$        US
9   UR                  SUSSS9  S S S 5        S S S 5        [        U 5       nUR'                  SU5        UR'                  SU5        [        R                  " US   [)        X345      5        S S S 5        [        [        R                  " S5      R                  SS5      [+        [-        S5      SS9S9nUR                  UR                  R                  5       5      n[        U 5       nUR                  SUSS9  [        R                  " US   USSS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNw= f! , (       d  f       GN?= f! , (       d  f       GNI= f! , (       d  f       N= f! , (       d  f       g = f)N))r   r   )r   r   )rN   r   )rN   r   firstsecondnames   rm   r-   )r0   z=Saving a MultiIndex with an extension dtype is not supported.r#   r   T)check_index_typecheck_column_typedf1r   r   z<cannot use a multi-index on axis [1] with data_columns ['A']r3   r   )r   data_columnsz;cannot use a multi-index on axis [1] with data_columns Truer6   r.   rQ   )name)r   from_tuplesr   r8   r9   r:   set_axisr1   to_numpyr   r%   r&   NotImplementedErrorr   rX   rY   reescaper'   r5   r
   r   r;   )r   r   r1   r   rt   r   r(   s          r    test_column_multiindexr   "  sq    ""8(@SE 
299R=((A.	>B{{288,,./H	J	'5QC2#>		$# ? 
(	' 			$
$KDD	
 			%G	,
%L(TT	
 iiVW]]:S1IIeRseID 2iiUV]]:S1IIeRdIC 2+ 
(2 
J	'5UBUB
eElFB8,<=	 
( 
299R=((A.d6lQV8W	XB{{288,,./H	J	'5		%G	,
%L(TT	
 
(	'? ?> 21 21+ 
(	'2 
(	' 
(	'st   <#K2J<2	K2BK2
K7K2K (K2A	L,L<
K	K2
K	K2 
K/	*K22
L
L
L#c           	         [        U 5       nSS jn[        US5        [        [        R                  " S5      SS/U" 5       S9nUR                  SU5        [        R                  " UR                  S5      U5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9nUR                  SU5        [        R                  " UR                  S5      U5        [        US5        [        [        R                  " S	5      U" / SQ5      S
9nUR                  SU5        [        [        R                  " S	5      U" / SQ5      S
9n[        R                  " UR                  S5      U5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9nSn[        R                  " [        US9   UR                  SU5        S S S 5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9n[        R                  " [        US9   UR                  SU5        S S S 5        [        US5        [        [        R                  " S5      SS/U" / SQ5      S9nUR                  SU5        [        R                  " UR                  S5      U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nc                 r    [        SS5      n[        R                  " U[        S5      [        S5      /U S9nU$ )Nz
2013-12-01z
2013-12-02r   rm   r   )r   r   from_productr<   )r   dtimis      r    
make_index)test_store_multiindex.<locals>.make_index[  s4    \<8C((#uQxq)B%PBI    r   )r   r   r   r   r/   )dateNNrp   r   rK   )r   level_1level_2)r   r   tzBduplicate names/columns in the multi-index when storing as a tabler#   )r   r   r   )r   r`   r   )N)r   r   r   r8   zerosr5   rX   rY   selectr   r_   r%   r&   r'   )r   r   r   r   rp   xpr(   s          r    test_store_multiindexr   V  sV    
J	'5	 	eT"rxx(3*JLQT2
ell40"5 	eT"HHW#J12

 	T2
ell40"5 	eU#RXXb\4H)IJUC BHHRL
3Q(RS
u||E2B7 	eT"HHW#J/0

 S]]:S1LLr" 2 	eT"HHW#J56

 ]]:S1LLr" 2 	eT"HHW#J/0

 	T2
ell40"5w 
(	'L 21 21a 
(	's>   F=K%	KAK%2KA5K%
K	K%
K"	K%%
K3c           	         [        [        R                  R                  S5      R	                  S5      [
        R                  " SSSS9S9nX-  nUR                  USS	US
9  [
        R                  " US5      n[        R                  " X55        g )Nr   )   r   20220101Mr   )rP   rJ   rK   r   w)r4   moder   )r   r8   rU   rV   rW   r=   period_ranger@   read_hdfrX   rY   )r   r   r   r   rB   rt   s         r    test_store_periodindexr     sw     

		a 008oojsA>
B
  DIId3vI6{{4&H"'r   )0r   numpyr8   r%   pandas._libs.tslibsr   pandasr=   r   r   r   r   r   r	   rX   r
   r   pandas.tests.io.pytables.commonr   r   pandas.utilr   tdmark
single_cpu
pytestmarkr!   r)   rC   r[   ra   rh   skip_if_windowsrk   rv   r   r   r   parametrizer<   r   r9   floatr   r   r   r   r   )rA   s   0r    <module>r      sl   	   ) 	 	 	 /kk$$%
<8/4d"3J.4?" . ."1,>01 GW#56uRy)y!s1vy)*bii%()biim<,
b1	/	 7/1
h>6B GW#56( 7(Y *s   ?E