
    m[h6                        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m	Z	m
Z
mZmZmZmZmZ d dlmZmZ d dlmZ ej.                  j0                  gZd Zd Zd Zd	 Zd
 Zd Zej@                  d        Z!d Z"d Z#d Z$d Z%ej.                  jM                  dddg      ej.                  jM                  d e
 e'd      D  cg c]
  }  e(|        c}        e
 ejR                  de*             e
 ejR                  d             edd       ejV                  dd      g      d               Z,d Z-d Z.ej.                  jM                  dddg      d        Z/yc c} w )    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingconcat
date_range)_maybe_removeensure_clean_store)_test_decoratorsc                 :   t        dddgi      }t        | |z        5 }|j                  d|d       |j                  d|d       |j                  d      j                  dk(  sJ |j                  d      j                  dk(  sJ 	 d d d        y # 1 sw Y   y xY w)	NA      afixedformatbtable)r   r   put
get_storerformat_type)tmp_path
setup_pathdfstores       m/var/www/html/p-interativo-gestao-midia/env/lib/python3.12/site-packages/pandas/tests/io/pytables/test_put.pytest_format_typer!      s    	C!Q=	!B	(Z'	(E		#r'	*		#r'	*$00G;;;$00G;;; 
)	(	(s   A)BBc                     d}t        j                  t        |      5  t        | |z  d       d d d        y # 1 sw Y   y xY w)Nz-format is not a defined argument for HDFStorematchr   r   )pytestraises
ValueErrorr   )r   r   msgs      r     test_format_kwarg_in_constructorr)   &   s2     :C	z	-J&w7 
.	-	-s	   8Ac                    t        |      5 }t        dt        j                  d      j	                  d      z  t        t        d            t        t        d      D cg c]  }d| 	 c}            }t        j                  dd	      5  t        |d
       |j                  d
|       |j                  d
      j                  rJ d}t        j                  t         |      5  |j#                  d|       d d d        d d d        t        j                  dd      5  t        |d
       |j                  d
|       |j                  d
      j                  sJ t        |d       |j#                  d|       |j                  d
      j                  sJ 	 d d d        d d d        | |z  }t        dt        j                  d      j	                  d      z  t        t        d            t        t        d      D cg c]  }d| 	 c}            }t        j                  dd	      5  |j%                  |d
       t'        |      5 }|j                  d
      j                  rJ 	 d d d        t        j                  t               5  |j%                  |dd       d d d        d d d        t        j                  dd      5  |j%                  |d       t'        |      5 }|j                  d      j                  sJ 	 d d d        |j%                  |dd       t'        |      5 }|j                  d      j                  sJ 	 d d d        d d d        y c c}w # 1 sw Y   ixY w# 1 sw Y   nxY w# 1 sw Y   xY w# 1 sw Y   xY wc c}w # 1 sw Y   3xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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 j 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M+$M7M+?NA7M8N:N(N1N&#N1	N$N1O#N>'O)O
ONM(#M++M5	0N8N	=NNN!	N1$N.	)N11N;>O	O
O	OOc           
         t        |       5 }t        t        j                  dt        j                        t        dd            }t        t        j                  j                  d      j                  d      t        t        d            t        d	d
d            }||d<   |d d |d<   |d d |d<   |d d |d<   |d d |d<   |j                  d|d d d       d}t        j                  t        |      5  |j                  d|dd  d       d d d        t!        |d       t        j                  t        |      5  |j                  d|dd  d       d d d        t        j                  t        |      5  |j                  d|dd  d       d d d        |j                  d|d d dd       t#        j$                  |d d |d          d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ^xY w# 1 sw Y   y xY w)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<9G/G< G$#G<;G0<G<G!	G<$G-	)G<0G9	5G<<Hc           	         t        |       5 }t        t        d      D cg c]  }d| 	 c}      }t        t	        j
                  d      |      }t        ||d      }||d<   t        j                  |d   |       ||d<   t        j                  |d   |       t        dgt        d      D cg c]  }d| 	 c}z         }t        t	        j
                  d      |      }t        ||d      }||d<   t        j                  |d   |       ||d<   t        j                  |d   |       d d d        y c c}w c c}w # 1 sw Y   y xY w)	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      s=   	J	'5eBiPi8<iPQ299R=.QQ'(c

uSz1-c

eCj"- 34>CBiHi04iHI
 299R=.QQ'(c

uSz1-c

eCj"-- 
(	'P I 
(	's)   ED8
BE0D=<A3E8
EEc           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d            t        ddd            }|j                  d	|d
d       t        j                  |d	   |       d}t        j                  t        |      5  |j                  d|dd       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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#0CC#C 	C##C,c           	         t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }t        |       5 }d	}t        j                  t        |
      5  |j                  d|dd       d d d        |j                  d|dd       t        j                  |d   |       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)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6C#C 	C##C,c                 $   t        dt        d      j                  d      gz        }t        |       5 }|j	                  d|       |j                         }|j                  d      }t        j                  ||       d d d        y # 1 sw Y   y xY w)N   20010102nsser)	r   r   as_unitr   r   copygetrX   r_   )r   rp   r   expectedresults        r    test_put_datetime_serrv      sq    
i
+33D9::
;C	J	'5		%88:5!
vx0	 
(	'	's   A
BBc           	         t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }d	|d
<   d|d<   |d   dkD  |d<   |d   dkD  |d<   d|d<   d|d<   d|d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        j                  |j                  |j                  dd d
gf<   |j                         }t        |       5 }t        |d       |rd nt         j"                  j$                  }t'        j(                  |      5  |j+                  d|       d d d        |j-                  d      }t'        j.                  ||       d d d        y # 1 sw Y   9xY w# 1 sw Y   y xY w) 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                    t        j                  | }t        dt        j                  dt         j                  dg|      i      }t        |       5 }t        |d       |j                  d|       |j                  t        j                  u rdnd}|j                  |      }|j                  d      }t        j                  ||       d d d        y # 1 sw Y   y xY w)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
fh/ 
(	'	's   A7CCc                    t        j                  | }t        dt         j                  dg|      }t	        |       5 }t        |d       |j                  d|       |j                  t        j                  u rdnd}|j                  |      }|j                  d      }t        j                  ||       d d d        y # 1 sw Y   y xY w)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!
vx0 
(	'	's   A7B<<Cr   r   r   r1   rE   rF   rH   rI   c                 <   t        |       5 }t        t        j                  j	                  d      j                  d      t        d      |      }t        |d       |j                  d||       t        j                  ||d          d d d        y # 1 sw Y   y xY w)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     s}     
J	'5II!!!$44W=J

 	eT"		$6	*
b%+. 
(	'	's   A=BBc                 D   t        j                  g dddg      }t        t        j                  d      j                  dd      |      }|j                  |j                  j                               }t        |       5 }|rBd	}t        j                  t        |
      5  |j                  d|       d d d        	 d d d        y |j                  d|       t        j                  |d   |dd       |j                  d|d       t        j                  |d   |dd       t!        j"                  d      }t        j                  t$        |
      5  |j                  d|ddg       d d d        t!        j"                  d      }t        j                  t$        |
      5  |j                  d|dd       d d d        d d d        t        |       5 }|j'                  d|       |j'                  d|       t        j                  |d   t)        ||f             d d d        t        t        j                  d      j                  dd      t+        t-        d      d            }|j                  |j                  j                               }t        |       5 }|j                  d|d       t        j                  |d   |dd       d d d        y # 1 sw Y   %xY w# 1 sw Y   {xY w# 1 sw Y   :xY w# 1 sw Y   ?xY w# 1 sw Y   xY w# 1 sw Y   y xY w)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   "  ss    ""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
eElFB8,<=	 
( 
299R=((A.d6lQV8W	XB{{288,,./H	J	'5		%G	,
%L(TT	
 
(	'? ?> 21 21+ 
(	'2 
(	' 
(	'st     K= K3	K=BK=K#*8K="K08K=A	L
1LK 	K=#K-	(K=0K:	5K==L
LLc           	         t        |       5 }dd}t        |d       t        t        j                  d      ddg |             }|j                  d|       t        j                  |j                  d      |       t        |d       t        t        j                  d      ddg |g d            }|j                  d|       t        j                  |j                  d      |       t        |d       t        t        j                  d	       |g d      
      }|j                  d|       t        t        j                  d	       |g d      
      }t        j                  |j                  d      |       t        |d       t        t        j                  d      ddg |g d            }d}t        j                  t        |      5  |j                  d|       d d d        t        |d       t        t        j                  d      ddg |g d            }t        j                  t        |      5  |j                  d|       d d d        t        |d       t        t        j                  d      ddg |g d            }|j                  d|       t        j                  |j                  d      |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nc                 v    t        dd      }t        j                  |t        d      t        d      g|       }|S )Nz
2013-12-01z
2013-12-02r   rm   r   )r   r   from_productr<   )r   dtimis      r    
make_indexz)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>   GK(K$AK(>KA6K(K	K(K%	!K((K1c                 .   t        t        j                  j                  d      j	                  d      t        j                  ddd            }| |z  }|j                  |dd	|
       t        j                  |d      }t        j                  ||       y )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     s{     

		a 008oojsA>
B
 j DIId3vI6{{4&H"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      sr   	   ) 	 	 	 /kk$$%
<8/4d"3J.4?" . ."1,>01 GW#56uRy)y!s1vy)*ibii%()ibiim<,b1	/	 7/1
h>6B GW#56( 7(Y *s   ?E