
    Owg<                        d dl 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	c m
Z d dlZd dlmZmZmZmZmZmZmZ d dlmZmZ ej2                  j4                  Z ej8                  d      Zej2                  j=                  d      d        Zd	 Z d
 Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)ej2                  jU                  dg d      d        Z+d Z,ejZ                  d        Z.d Z/d Z0d Z1d Z2d Z3y)    N)	timedelta)	Timestamp)	DataFrameIndexSeries_testingconcat
date_rangeread_hdf)_maybe_removeensure_clean_storetablesz!ignore::tables.NaturalNameWarningc                 z   t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }t        |d
       |j                  d
|d d        |j                  d
|dd         t        j                  |d
   |       t        |d       |j                  d|d d d       |j                  d|dd         t        j                  |d   |       t        |d       |j                  d|d d        |j                  d|dd         t        j                  |d   |       t        |d       |j                  d|d d        |j                  d|dd         t        j                  |d   |       t        ddgddgddgddgg      }d|d<   t        j                  |j                   d<   t        |d       |j                  d|       t        j                  |d   |       t        t#        t        j                  j	                  d      j%                  ddd      t        j&                        t#        t        j                  j	                  d      j%                  ddd      t        j(                        t#        t        j                  j	                  d      j%                  ddd      t        j*                        t#        g dt        j,                        d t        j.                  d      !      }t        |d"       |j                  d"|       t        j                  |d"   |d#$       t        |d"       |j                  d"|g d%&       t        j                  |d"   |d#$       d d d        y # 1 sw Y   y xY w)'N   )      ABCDdtype
2000-01-01r   Bperiodsfreqcolumnsindexdf1
   df2table)formatdf3z/df3z/df3 foozdf3 foo   r   )datatestingmixed_column)r   r'   df      )highsizei  i   @)l           l          @l            l            l            )u08u16u32u64r   uintsTcheck_index_type)r-   r.   r/   data_columns)r   r   nprandomdefault_rngstandard_normalr   listobjectr
   r   appendtmassert_frame_equalputnanlocr   integersuint8uint16uint32uint64arange)
setup_pathstorer(   	uint_datas       [/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_append.pytest_appendrM      s0   	J	' DP5 II!!!$44W=$v,f5\2C@

 	eU#UBsG$UBrsG$
eElB/eU#		%CR	1UBrsG$
eElB/eU#VRW%VRW%
eElB/ 	eZ(ZCR)ZBC)
eI.3 aVaVaVaV<=&>$&FF !eT"T2
eDk2. II))!,55ac5J(( II))!,55ae!5L)) II))!,55ae!5L)) 7))$ ))A,'
	* 	eW%Wi(
eGni$O 	eW%Wi6KL
eGni$OIDP DP DPs   NN11N:c           
         t        |       5 }t        t        d      t        j                  t        d      D cg c]  }d| 	 c}      }t        t        j
                  dt        j                        t        dd            }t        t        j
                  d	            }|j                  d
|       |d
   }t        j                  ||       |j                  J |j                  d|       |d   }t        j                  ||       |j                  J d|_
        |j                  d|       |d   }t        j                  ||       |j                  |j                  k(  sJ ||dkD     }|j                  dd      }t        j                  ||       ||dkD  |j                  dk  z     }|j                  dd      }t        j                  ||d       t        t        j                  j                  d      j!                  d      dg      }t        j
                  t#        |            |d<   d|d<   d|j$                  dddf<   |j'                  ddgd       |j)                  d      }	|	j                  j+                  d      |	_        |j                  d |	       t        j                  |d    |	d       d d d        y c c}w # 1 sw Y   y xY w)!Nr   i_)r   r   r   r   z
2020-01-01r   r1   d   sstsfoons<   zfoo>60F   Z   zfoo>70 and index<90Tr3   r   )r*   r$   Ar   r   Cbar   r*   inplace)future_stackmi)r   r   ranger7   float64rH   r
   r=   r>   assert_series_equalnameselectr   r   r8   r9   r:   lenrB   	set_indexstack	droplevel)
rI   rJ   irR   rS   rU   resultexpectedra   ss
             rL   test_append_seriesro   h   su   	J	' +F5E"IRZZ%PR)7TQ"QC7TUIIb

+:lTV3W
 BIIcN#T2t
vr*{{"""T2t
vr*{{"""T2t
vr*{{bgg%%% b2g;dH-
vx0 rBw288b=12d$9:
vx$G ryy,,Q/??GRUQVW))CG$33 qsCx
c3Z.HH$H'''##A&T1
uT{AEW+F +F7T+F +Fs   ,KKI?KKKc                    t        |       5 }t        t        t        j                  j                  d      j                  d            j                  d      t        j                  j                  d      j                  d      t        j                  j                  d      j                  d      ddt        d      j                  d      t        d      j                  d      d	t        j                  d      
      }t        |d       t        j                  |j                  ddg df<   |j                  d|d d        |j                  d|dd         t        j                   |d   |d       |j#                         }t        j                  |d<   t        |d       |j                  d|d d        |j                  d|dd         t        j                   |d   |d       |j#                         }t        j                  |d<   t        |d       |j                  d|d d        |j                  d|dd         t        j                   |d   |d       |j#                         }t        j                  |d<   t        |d       |j                  d|d d        |j                  d|dd         t        j                   |d   |d       d d d        y # 1 sw Y   y xY w)Nr   r   int32rT   r\   
2001-01-01rU   
2001-01-02)rY   A1A2r   r[   DEr1   r   r      )rt   r   rv   rw   r   Tr3   rt   ru   r    rw   r#   )r   r   r   r7   r8   r9   r:   astyper   as_unitrH   r   rA   rB   r=   r>   r?   copy)rI   rJ   r(   r   r    r#   s         rL   test_append_some_nansr|      sf   	J	' ,H5BII11!4DDRHIPP ii++A.>>rBii++A.>>rB|,44T:|,44T:
 ))B-
 	eU#.0ffqt**+UBsG$UBrsG$
eElBF ggiFFD	eU#UCH%UCH%
eElC$G ggiFFD	eU#UCH%UCH%
eElC$G ggi66CeU#UCH%UCH%
eElC$GY,H ,H ,Hs   KKK#c                 V
   t        |       5 }t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      dt        j                  d            }t        j                  |j                  ddd d f<   t        |d       |j                  d|d d d	
       |j                  d|dd  d	
       t        j                  |d   |dd  d	       t        |d       |j                  d|d d d
       |j                  d|dd  d
       t        j                  |d   |d	       t        j                  dd      5  t        |d       |j                  d|d d        |j                  d|dd         t        j                  |d   |       d d d        t        j                  dd	      5  t        |d       |j                  d|d d        |j                  d|dd         t        j                  |d   |dd         t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      dddt        j                  d            }t        j                  |j                  ddd d f<   t        |d       |j                  d|d d d	
       |j                  d|dd  d	
       t        j                  |d   |d	       t        |d       |j                  d|d d d
       |j                  d|dd  d
       t        j                  |d   |d	       t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      ddt        d      j!                  d      t        d      j!                  d      dt        j                  d            }t        j                  |j                  ddd d f<   t        |d       |j                  d|d d d	
       |j                  d|dd  d	
       t        j                  |d   |d	       t        |d       |j                  d|d d d
       |j                  d|dd  d
       t        j                  |d   |d	       d d d        d d d        y # 1 sw Y   JxY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   )rt   ru   r1   r   rx   r(   r   T)dropnar3   r    Fio.hdf.dropna_tabler#   df4rT   r\   )rt   ru   r   r[   rr   rU   rs   )rt   ru   r   r[   rv   rw   )r   r   r7   r8   r9   r:   rH   rA   rB   r   r=   r>   r?   pdoption_contextr   rz   rI   rJ   r(   s      rL   test_append_all_nansr      s   	J	' RK5ii++A.>>rBii++A.>>rB ))B-
 &&qtQw 	eT"T2cr740T2bc740
eDk2bc7TJ 	eU#UBsGE2UBrsGE2
eElBF 4e< 	4%'LL3B(LL23(!!%,3		4 4d; 5	K%'LL3B(LL23(!!%,238 ))//2BB2F))//2BB2F	 iimB !ffBFF1R47O%&LLr#2wtL4LLr"#wtL4!!%+rDI%'LL3BL6LL23L6!!%,TJ ))//2BB2F))//2BB2F"<088>"<088> iim
B !ffBFF1R47O%&LLr#2wtL4LLr"#wtL4!!%+rDI%'LL3BL6LL23L6!!%,TJk5	K;RK RK.	4 	45	K 5	K;RK RKs>   E"T.AT>TLT5TT	TT	TT(c           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }|j                  j                  d       |_
        t        |d
       |j                  d
|j                  d d d df   dg       |j                  d
|j                  d d dd f          t        j                   |d
   |       |j#                  d
d      }|j%                  dg      }t        j                   ||       |j#                  d
d      }|j%                  dg|j                  dd 	      }t        j                   ||       t'        j(                  d      }t+        j,                  t.        |      5  |j#                  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   r   r   r   r   r   r   r   r   r   r   r   )axes	columns=ArY   rZ   )r   zindex=df.index[0:4]r   r   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]matchzcolumns=A and index>df.index[4])r   r   r7   r8   r9   r:   r   r;   r<   r
   r   
_with_freqr   r=   ilocr>   r?   rf   reindexreescapepytestraises	TypeError)rI   rJ   r(   rl   rm   msgs         rL   !test_append_frame_column_orientedr     s   	J	' C5II!!!$44W=$v,f5\2C@

 88&&t,eU#UBGGArrEN)=UBGGAqrEN+
eElB/e[1::se:,
h/ e%IJ::se288Aa=:A
h/ ii(
 ]]9C0 	CLL AB	C9C C8	C 	C9C Cs$   F%G!1GG!G	G!!G*c                    t        |       5 }t        d      D ]  }t        t        j                  j                  d      j                  d      t        d            }t        d      |d<   |dxx   |dz  z  cc<   t        dgt        |      z  d	      |d<   t        dgt        |      z  d
	      |d
<   |dz  dk(  r |d= t        dgt        |      z  d	      |d<   |dz  dk(  r|j                  d      }||d<   |j                  dd       |j                  d|        	 d d d        t        |       5 }t        t        j                  j                  d      j                  d      t        d      d      }t        dgt        |      z  d	      |d<   t        dgt        |      z  d
	      |d
<   |j                  d|       t        dgt        |      z  d
	      |d<   t        j                  d      }t        j                   t"        |      5  |j                  d|       d d d        t        dgt        |      z  d	      |d<   t        j                  d      }t        j                   t"        |      5  |j                  d|       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)Nr   r   )r   r   ABrZ   r   r$   int64r   int16r   r]   rY   Tr^   r(   rc   )r   r   int16_2zCcannot match existing table structure for [int16] on appending datar         ?float_3zAcannot match existing table structure for [A,B] on appending data)r   rb   r   r7   r8   r9   r:   r;   r   rg   poprh   r=   r   r   r   r   
ValueError)rI   rJ   rk   r(   ar   s         rL   )test_append_with_different_block_orderingr   >  s~   	J	' #5r 	#A		%%a(88A4PT:B  )BwKwK1r6!K !s2wg>BwK !s2wg>BwK1uzwK$aS3r7]'B71uzFF3K3LL$L/LLr"%	##. 
J	' #5II!!!$44W=J

 aS3r7]':7aS3r7]':7T2 sSW}G<9iiQ
 ]]:S1 	#LLr"	# us2wi@9iiO
 ]]:S1 	#LLr"	#/# #/# #L	# 	#	# 	#/# #sJ   DJ!8CKJ.(AK=J:K!J+.J7	3K:K	?KKc           
      
   t        |       5 fd}t        ddgddgg      }j                  d|       t        j                  j                  d      |        |ddd       t        d	d
gddgg      }j                  d|       t        ||g      }t        j                  j                  d      |        |ddd       t        ddgddgg      }j                  d|ddi       t        j                  j                  d      |        |ddd       j                  d|       t        d	dgddgg      }d}t        j                  t        |      5  j                  d|       d d d        t        g dg dt        g dt              t        dd      d      j                  d      }j                  d|d    d!d"i       t        j                  j                  d      |d           j                  d#|d    d$d!d"i%       t        j                  j                  d#      |d           j                  d&|d'd!d(i)       |j!                         j#                         j%                  d*+      j                  d      }j                  d&|       t        j                  j                  d&      t        ||g             j                  d,|d    d'd!d(i)       j                  d,|d           t        j                  j                  d,      t        |d    |d    g             t'        d-       t        t(        j*                  j-                  d.      j/                  d/      t        t1        d0      t              t        d1d2d 3      4      }d5|d6<   t(        j2                  |j4                  |j6                  d7d" d6f<   d8|d9<   t(        j2                  |j4                  |j6                  d"d: d9f<   d;|d<<   t(        j2                  |j4                  |j6                  d7d  d<f<   j                  d-|       j                  d-      }t        j                  ||       d d d        t        |       5 t        d5d8d=t9        d2      >      }t'        d-       j                  d-|d?d@i        d-d?d@       j;                  d-      j<                  d?gk(  sJ t'        d-       j                  d-|d gd?d@i%        |d-d?d@       j;                  d-      j<                  d d?gk(  sJ t'        d-       j                  d-|d gdd@i%        |d-d d@        |d-dAd@       j;                  d-      j<                  d gk(  sJ t'        d-       j                  d-|d d d@       j                  d-|dd  d@       t        j                  d-   |       t        g dBd?gC      }t'        d-       t?        j@                  dD      }t        j                  t        |      5  j                  d-|dEdEdF       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)GNc                     t        j                  |       j                  j                  |      j                  |k(  sJ y Ngetattr
get_storerr!   descriptionitemsizekeyre   r,   rJ   s      rL   	check_colz+test_append_with_strings.<locals>.check_colu  8    ((-33??FOOSWWW    {   	asdqwertyiY  dggnhebbsdfbdfbdf_bigvalues_block_1rx   |   asdqyiZ  dggnhefbdfbdf_big2values2   min_itemsizedf_new
abcdefqhijabcdefghijklmnopqrtsuvwxyzzTrying to store a string with len \[26\] in \[values_block_1\] column but\nthis column has a limit of \[15\]!\nConsider using min_itemsize to preset the sizes on these columnsr   )        r   g       @g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo5r   20130101r*   rP   )rY   r   r[   rv   r[   rR   r   r   r   ss2Tr6   r   ss3r!      )r"   r   longer)r[   ss4r(   r   r   r   r   r   r   r   rT   stringr$   r\   string2   bahstring3rY   r   r1   rY      values_block_0)rT   rT   rT   barhr   r   rZ   zBmin_itemsize has the key [foo] which is not an axis or data_columnr   )rT   foobar)!r   r   r=   r>   r?   rf   r	   r   r   r   r   r<   r
   rh   rd   r@   r{   reset_indexassignr   r7   r8   r9   r:   r;   rA   rB   r   rb   r   r6   r   r   )	rI   r   r(   r    rm   r   r   rl   rJ   s	           @rL   test_append_with_stringsr   r  s   	J	' R*5	 k*S2C,DEFXr"
ell84b9(,b1 #w#})=>?Xs#2s)$
ell84h?(,b1 k*S2C,DEFY(B@
ell95r:)-r2 	Xr"S,/#7S1TUV 	 ]]:S1 	+LL6*	+ ..C6R
A6	
 )C. 	 	T2c7'1>
u||D12c7; 	UBsG$gq\R
u||E2BsG< 			%G7A,	Gggi##%,,x,8BB3GUC 
ell5162s)3DE 			%C|	LUCH%
u||E2FBsGSX;N4OP 	eT"II!!!$44W=$v,f5\2C@

 8*,&&rxx!}h&'9+-66rxx!}i'(9*,&&rxx|Y&'T2d#
fb)eR*h 
J	' #K5U/uRyA 	eT"T2S#J7$S!%22se;;; 	eT"T2SEc
K$S!%22sCj@@@ 	eT"T2SE3P$S!$(#.%22se;;; 	eT"T2bq64T2ab64
eDk2. DseTeT"iiP
 ]]:S1 	KLLrb0ILJ	KE#K #Ka	+ 	+IR* R*l	K 	KE#K #KsJ   EY Y-K;Y ;F/Y9*Y-Y9Y	Y  Y*-Y6	2Y99Zc                    t        |       5 }t        dg di      }|j                  d|d d ddi       |j                  d|dd  ddi       t        j                  |j                  d      |       d d d        y # 1 sw Y   y xY w)Nx)r   bcdef r(   r$   r   )r   r   r=   r>   r?   rf   r   s      rL   test_append_with_empty_stringr     s    	J	' 65?@AT2cr7#q:T2bc7#q:
ell40"56 6 6s   A'A<<Bc           
      0  	 t        |       5 	t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }d
|j                  d|j                  j                  d      f<   t        	d       	j                  d|d d dg       	j                  d|dd         t        j                   	d   |       	j"                  j$                  j&                  j(                  j*                  j,                  j.                  du sJ 	j"                  j$                  j&                  j(                  j*                  j0                  j.                  du sJ 	j3                  dd      }||j0                  dkD     }t        j                   ||       	j3                  dd      }|j5                  |j,                  dd        }||j0                  dkD     }t        j                   ||       |j7                         }d|d<   t        j8                  |j:                  |j,                  dd df<   d|j:                  |j,                  dd df<   t        	d       	j                  d|dg       	j3                  dd      }||j<                  dk(     }t        j                   ||       	fd}d d d        t        |       5 	t        	d       	j                  ddgddi        ddd       t        	d       	j                  d|dgd        |ddd       t        	d       	j                  d|dgddi        |ddd       d d d        t        |       5 	dd<   d |d!<   d"|d#<   t        	d       	j                  d|ddgdd$d%d&        ddd        |ddd$        |dd'd%       d d d        t        |       5 	j7                         }d
|j                  d|j                  j                  d(      f<   d)|j                  d|j                  j                  d      f<   d|d<   |j                  j                  d      }t        j8                  |j                  dd|f<   d|j                  dd|f<   d|d<   |j                  j                  d      }t        j8                  |j                  dd|f<   d|j                  d*d+|f<   t        	d       	j                  d|g d,       	j3                  dd-      }||j<                  dk(  |j>                  dk(  z  |j@                  dkD  z  |j0                  dk  z     }t        j                   ||d./       	j3                  dd0      }||j<                  dk(  |j>                  d1k(  z     }t        j                   ||       d d d        t        |       5 	j7                         }d|d<   t        j8                  |j:                  |j,                  dd df<   d|j:                  |j,                  d*d2 df<   d1|d<   tC        d3      jE                  d4      |d5<   t        j8                  |j:                  |j,                  d6d g d7f<   t        	d8       	j                  d8|g d9       	j3                  d8d      }||j0                  dkD     }t        j                   ||       	j3                  d8g d:      }||j0                  dkD  |jF                  dkD  z  |j<                  dk(  z     }t        j                   ||d./       d d d        t        |       5 	t        d;d+<      }t        t        j                  j	                  d      j                  d=      |g d>?      }d|d<   t        j8                  |j:                  |j,                  dd df<   d|j:                  |j,                  d*d2 df<   |dd@g   jI                         |dd@g<   d1|d<   	j                  d8|g dA       	j3                  d8d      }||j0                  dkD     }t        j                   ||       	j3                  d8g dB      }||j0                  dkD  |jF                  dkD  z  |j<                  dk(  z     }t        j                   ||       d d d        y # 1 sw Y   xY w# 1 sw Y   lx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)CNr   r   r   r   r   r   r   r   r   r   r   r(   r5   TB>0zB>0 and index>df.index[3]r   r1   rT   r   r$   r\   r*   r   zstring='foo'c                     t        j                  |       j                  j                  |      j                  |k(  sJ y r   r   r   s      rL   r   z0test_append_with_data_columns.<locals>.check_col  r   r      r   r   	foobarbahr   
foobarbah1string_block1
foobarbah2string_block2(   r   )r   r   r   r   rY   g         r   )rY   r   r   r   z.string='foo' and string2='foo' and A>0 and B<0F)
check_freqzstring='foo' and string2='cool'cool	   20010102rU   datetimer]   )rY   r   r   df_dc)r   r[   r   r   r   )B > 0C > 0zstring == fooz1/1/2000rP   )r   r]   )rY   r   r[   )r   r   r[   )r   r[   r   r   )r   r   zstring == "foo")%r   r   r7   r8   r9   r:   r   r;   r<   r
   r   r   get_locr   r=   r>   r?   _handlerootr(   r!   colsr   
is_indexedr   rf   r   r{   rA   rB   r   r   rY   r   rz   r[   abs)
rI   r(   rl   rm   r   r   slr   r   rJ   s
            @rL   test_append_with_data_columnsr     sk   	J	' *5II!!!$44W=$v,f5\2C@

 /22::%%c**+eT"T2bq66T2ab6"
eDk2. }}!!$$**//55@@DHHH}}!!$$**//11<<DDD dE*bddQh<
fh/ d$?@"((12,/&((Q,'
fh/  x24&&

6<<!$h./27

6<<!$h./eT"T6
;dN3&--501
fh/	O*X 
J	' 	&5eT"T6
(TVX$"%eT"T6
L$"%eT"T6
(TVX$"%	& 
J	' .5'y".".eT""I.$&2D	 	 	
 	$"%$	2&$("-. 
J	' 0569Av~~--c2236:Av~~--c223 x^^##H-!vvAaCG$AaCG!y^^##I.!vvAaCG$AaCGeT"T60OPd$TU]]e#~~&(xx!| xx!|
 	fh5A d$EF6==E1fnn6NOP
fh/=0@ 
J	' B5	h02		%++a"H,-05		%++a"H,-!i%j199$?j>@ff		%++a"$::;eW%U)T 	 	
 gu-1%
fh/g'JK%''A+%''A+6%,,%:OPQ
fh5A+B2 
J	' 05 :q1II!!!$44V<#

  h02		%++a"H,-05		%++a"H,-!3*-113sCj!i 	We2QRgu-1%
fh/g'LM%''A+%''A+6%,,%:OPQ
fh/10 0* *X	& 	&. .0 0@B B20 0sM   Kc%B	cAc%)G%c2!E*c?E$dcc"%c/2c<?d	dc                     |}d |j                   _        t        |      5 }|j                  d|       |j	                  d      }t        j                  ||       |j	                  dddg      }|j                  ddg      }t        j                  ||       d d d        | dz  }|j                  |dd       t        |dddg      }|j                  ddg      }t        j                  ||       y # 1 sw Y   ]xY w)	Nra   rY   r   rZ   ztest.hdfr(   r!   )r   r"   )
r   re   r   r=   rf   r>   r?   r   to_hdfr   )tmp_pathrI    multiindex_dataframe_random_datar(   rJ   rl   rm   paths           rL   test_append_hierarchicalr    s    	)BBJJO	J	' 05T2d#
fb) dS#J7::sCj:1
fh/0 j DIIdWI-dD3*5Fzz3*z-H&(+0 0s   A9C44C=c                 "   t        |       5 }t        dt        j                  d      j	                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }|j                  d	|d
       |j                  d	      }t        j                  ||       |j                  d|d       |j                  d      }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)N皙?x   r   r   r   r   r   i-r   r(   r$   	chunksizer   r   )expectedrows)r   r   r7   rH   reshaper   r;   r<   rb   r=   rf   r>   r?   )rI   rJ   rk   r(   rl   s        rL   test_append_miscr    s    	J	' *5"))C.((11$v,f5595a2aS5VD

 	T2+d#
fb)UBR0e$
fb)* * 6	* *s   AD#D /BD DDr	  )r   r   i  c                 |   t        dt        j                  d      j                  d      z  t	        t        d      t              t	        t        d      D cg c]  }d| 	 c}t                    }d	|d
<   d|d<   |d   j                  d      |d<   |d   dkD  |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        | d      5 }|j                  d||       |j                  d      }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)Nr  r  r  r   r   r   r  r   rT   r   r   float322float32r   boolr   rU   time120130102time2w)modeobjr  )r   r7   rH   r  r   r;   r<   rb   ry   r   rz   r   r=   rf   r>   r?   )rI   r	  rk   r(   rJ   rl   s         rL   test_append_misc_chunksizer    s!    
biin$$W--d6l&1uRy1!r!X1@
B
 BxLBzN
^**95BzNJ!#BvJJ'//5BwKJ'//5BwK	JS	1 *UUB)4e$
fb)* * 2* *s   D-(<D22D;c                    t        |       5 }t        t        d            }|j                  d|       t	        j
                  t        d      5  |j                  d       d d d        t        t        j                  j                  d      j                  d      t        d            }|j                  d|       t        j                  |j                  d      |       |j                  d|       t        j                  |j                  d      |       t        t        d            }|j                  d|       t        j                  |j                  d      |       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)	NABCrZ   r(   z 'No object named df in the file'r   r   )r   r]   r    )r   r   r;   r=   r   r   KeyErrorrf   r7   r8   r9   r>   r?   r@   )rI   rJ   df_emptyr(   s       rL   test_append_misc_empty_framer    s#   	J	' 75T%[1T8$]]8+MN 	LL	 ryy,,Q/66w?eUT2
ell40"5T8$
ell40"5 tE{+		%
ell5126#7 7	 		7 7s%   AE;E.!DE;.E8	3E;;Fc                 

   t        |       5 }t        dt        j                  d      j	                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }d	ggt        |      z  |d
<   |j                  d
   t        j                  k(  sJ t        j                  d      }t        j                  t         |      5  |j#                  d|       d d d        d	ggt        |      z  |d<   d	ggt        |      z  |d<   t        j                  t         |      5  |j#                  d|       d d d        t        dt        j                  d      j	                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }t%        t'        j&                  ddd      |j(                        }|j+                  t              }t        j,                  |dd ||d
<   |j                  d
   t        j                  k(  sJ d}t        j                  t         |      5  |j#                  d|       d d d        d}t        j                  t         |      5  |j#                  dt        j                  d             d d d        t        j                  d      }t        j                  t         |      5  |j#                  dt%        t        j                  d                   d d d        t        dt        j                  d      j	                  d      z  t        t        d      t              t        t        d      D cg c]  }d| 	 c}t                    }|j#                  d|       d|d<   t        j                  d      }t        j                  t.        |      5  |j#                  d|       d d d        t1        |d       t3        d      |d<   |j#                  d|       d|d<   t        j                  d      }t        j                  t.        |      5  |j#                  d|       d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   PxY wc c}w # 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY wc c}w # 1 sw Y   xY w# 1 sw Y   nxY w# 1 sw Y   y xY w)Nr  r  r  r   r   r   r  r   r   invalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyper   r(   invalid2invalid3i  r$   r   r1   r   r*   z>too many timezones in this block, create separate data columnsz(value must be None, Series, or DataFramer   z]cannot properly create the storer for: [group->df,value-><class 'pandas.core.series.Series'>]rT   zinvalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]r   r\   a  invalid combination of [values_axes] on appending data [name->values_block_1,cname->values_block_1,dtype->bytes24,kind->string,shape->(1, 30)] vs current table [name->values_block_1,cname->values_block_1,dtype->datetime64[s],kind->datetime64[s],shape->None])r   r   r7   rH   r  r   r;   r<   rb   rg   dtypesobject_r   r   r   r   r   r=   r   r   r   ry   rA   r   r   r   )rI   rJ   rk   r(   r   rn   s         rL   test_append_raiser#    s   	J	' S#5 "))C.((11$v,f5595a2aS5VD

 #b')9yy#rzz111iiG
 ]]9C0 	#LLr"	# %3r7*:%3r7*:]]9C0 	#LLr"	# "))C.((11$v,f5595a2aS5VD

 8$$T1a0AHHV!A9yy#rzz111N]]9C0 	#LLr"	# 9]]9C0 	.LLryy}-	. iiE
 ]]9C0 	6LLvbiim45	6 "))C.((11$v,f5595a2aS5VD

 	T25	ii*

 ]]:S1 	#LLr"	# 	eT"j)5	T25	iiD
 ]]:S1 	#LLr"	#eS# S# 6	# 	#	# 	# 6	# 	#
	. 	.	6 	6 6	# 	# 	# 	#eS# S#s   AS9#R/A7S9&R9A	S9R#AS93R0?B*S9)R5<%S9!&S8S9?/S.AS9SAS91S!A)S9-S- S9S9R 	S9#R-	(S95R?	:S9S	S9S	S9!S*	&S9-S6	2S99Tc                    t        d      j                  d      }t        |t        d      D cg c]  }|t	        |d      z    c}d      }|d   |d   z
  |d<   t
        j                  |j                  d	d
df<   t        |       5 }t        |d       |j                  d|d       |j                  d      }t        j                  ||       |j                  dd      }t        j                  ||       |j                  dd      }t        j                  ||j                  d	d         |j                  dd      }t        j                  ||j                  d	d         |j                  dd      }|j                  dg      }t        j                  ||j                  dd         |j                  dd      }|j                  dd  }t        j                  ||j                  dd         t        |d       |j!                  d|       |j                  d      }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)Nr   rU   r   )dayssecondsr   rY   r   r[   r]   r*   r(   Tr5   zC<100000)wherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')subsetr   z	C<'-3.5D'r$   r   r    )r   rz   r   rb   r   r7   rA   rB   r   r   r=   rf   r>   r?   r   r~   r@   )rI   rS   rk   r(   rJ   rl   s         rL   test_append_with_timedeltar)  ;  s    
:		&	&t	,B	>CBiH"ya44H	

B g3BsGvvBFF1Q38	J	' *5eT"T2D1d#
fb)d*5
fb)d*AB
fbggabk2dI.
fbggabk2 dN3se,
fbggabk2dK0QR
fbggabk2 	eU#		%e$
fb)=* * I* *s   H>
F-IIc           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j                         j                  d
j                        }d|d<   t        ||gd      }t        |       5 }d}t        j                  t         |      5  |j#                  ddgd d|d       d d d        t        j                  t         |      5  |j#                  d d d|d       d d d        d}t        j                  t         |      5  |j#                  d|d       d d d        |j#                  ddgd d|d       |j%                  ddgddgd      }||j&                  dkD  |j(                  dkD  z     }t+        j,                  ||       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)Nr   r   r   r   r   r   r   r   r   {}_2rZ   r\   rT   r$   axisz=append_to_multiple requires a selector that is in passed dictr   rY   r   r    r#   )selectorzQappend_to_multiple must have a dictionary specified as the way to split the valuer   r    zA>0r   )r'  r/  r   )r   r7   r8   r9   r:   r   r;   r<   r
   r{   renamer"   r	   r   r   r   r   append_to_multipleselect_as_multiplerY   r   r>   r?   )rI   r   r    r(   rJ   r   rl   rm   s           rL   test_append_to_multipler3  j  s   

		a 009d6l&1r<C
 ((*

FMM

2CCJ	c
	#B	J	' 05M]]:S1 	$$c
40"u % 	
 ]]:S1 	U$$T$%?e$T	U 	 ]]:S1 	7$$UB6	7 	  #sD!A2PU V))EN5%.5 * 
 rttaxBDD1H-.
fh/10 0	 	
	U 	U	7 	70 0sU   (G2G #G2G%G2 G&A1G2G	G2G#	G2&G/	+G22G;c           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      j                  d
j                        }t        j                  |j                  d|j                  j                  ddg      f<   t        ||gd      }t!        |       5 }|j#                  ddgd d|dd       |j%                  ddg      }|j'                         }t)        j*                  ||d       t)        j,                  |j/                  d      j0                  |j/                  d      j0                         d d d        y # 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   r   r+  rZ   r$   rY   r,  r.  r   Tr/  r~   r    r3   )r   r7   r8   r9   r:   r   r;   r<   r
   r0  r"   rA   r   r   get_indexerr	   r   r1  r2  r~   r>   r?   assert_index_equalrf   r   )rI   r   r    r(   rJ   rl   rm   s          rL   test_append_to_multiple_dropnar8    s   

		a 009d6l&1r<C
 
		a 009d6l&1r< fV]]f#	 
 8:vvCHHQ''c
334	c
	#B	J	' T5  #Jt,b5 	! 	
 ))5%.999;
fhF
ell5177e9L9R9RST T Ts   +BGGc           	         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j                         j                  d
j                        }t        j                  |j                  d|j                  j                  ddg      f<   t!        ||gd      }t#        |       5 }t%        j&                  dd      5  |j)                  ddgd d|dd       d}t+        j,                  t.        |      5  |j1                  ddg       d d d        |j3                  d      j4                  j7                  |j3                  d      j4                        r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   y xY w)Nr   r   r   r   r   r   r   r   r   r+  rZ   r$   rY   r,  r   T)df1adf2ar:  Fr5  z,all tables must have exactly the same nrows!r   r;  )r   r7   r8   r9   r:   r   r;   r<   r
   r{   r0  r"   rA   r   r   r6  r	   r   r   r   r1  r   r   r   r2  rf   r   equals)rI   r   r    r(   rJ   r   s         rL   $test_append_to_multiple_dropna_falser=    s   

		a 009d6l&1r<C
 ((*

FMM

2C79vvCHHQ''c
334	c
	#B	J	' Q5"2C2Ct3 Q 	  3Z.VE 	! 	
 =]]:S1 	7$$ff%56	7 <<'--44U\\&5I5O5OPPPPQ Q Q	7 	7Q Q Q Qs=   F748F+,F AF+F7F($F++F4	0F77G c           
      *   t        t        j                  dd      t        j                  dd      t        j                  dd      dz  t        d      D cg c]  }d c}t        d      D cg c]  }d c}d      }|j                  dg   }t        |       5 }|j                  d	gd
dgddgd|j                  dg   ddddd       |j                  g d      }t        j                  ||d       d d d        y c c}w c c}w # 1 sw Y   y xY w)Nr$      X   r   r   abcde)IXNumBigNumStrLongStrr   rB  rC  rD  rE  rF  )r   numsstrsr   r   rQ   r   )rE  rF  rC  r   Tr3   )
r   r7   rH   rb   r   r   r1  r2  r>   r?   )rI   _r(   rm   rJ   rl   s         rL   $test_append_to_multiple_min_itemsizerJ    s   	))Ar"99Q#ii2&+!&r+AC+).r3A3	

B wws|H	J	' G5  )	*
 GGQCL!#A> 	! 		
 ))*CD
fhFG G ,3
G Gs   	C?-	DAD		D)4r   r   r   numpyr7   r   pandas._libs.tslibsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r>   r	   r
   r   pandas.tests.io.pytables.commonr   r   mark
single_cpu
pytestmarkimportorskipr   filterwarningsrM   ro   r|   r   r   r   r   r   r   r  r  parametrizer  r  &skip_array_manager_not_yet_implementedr#  r)  r3  r8  r=  rJ   r   rL   <module>r[     s'     	   ) ) )   
 [[##
			X	& ?@EP AEPP,F^-H`SKlCB1#hxKv6X0v,**  o6* 7*&72 **T# +T#n,*^"0JT2Q2Gr   