
    A>i                     :   S SK r S SKJrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
r
S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJs  Jr  S SKrS SKJrJrJrJrJrJr  S SKJ r!  S SK"J#r#J$r$J%r%J&r&J'r'  S S	K(J)r)  S
\*S\*4S jr+\RX                  S 5       r-\RX                  " / SQS9S 5       r.\RX                  S 5       r/\RX                  S 5       r0\Rb                  Re                  S\Rf                  " S\Rh                  " S5      \Rh                  " S5      /S9\Rf                  " S\Rh                  " S5      \Rh                  " S5      /S9\Rf                  " S\Rh                  " S5      \Rh                  " S5      /S9\Rf                  " S\Rh                  " S5      S9/5       " S S5      5       r5\Rb                  Re                  S\Rf                  " SS\Rh                  " S5      \Rh                  " S5      /S9\Rf                  " SS\Rh                  " S5      \Rh                  " S5      /S9\Rf                  " SS\Rh                  " S5      \Rh                  " S5      /S9\Rf                  " SS\Rh                  " S5      S9/5      \Rb                  Rm                  S5       " S  S!5      5       5       r7 " S" S#5      r8\Rh                  " S5      \Rh                  " S5       " S$ S%5      5       5       r9\Rb                  Re                  S&\)Rt                  " 5       5      S' 5       r;g)(    N)datedatetime	timedelta)Decimal)partial)BytesIO)import_optional_dependency)	DataFrameIndex
MultiIndex
date_rangeoption_contextperiod_range)	ExcelFileExcelWriter_OpenpyxlWriter_XlsxWriterregister_writer)_writerspathreturnc                     g)Nus )r   s    a/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/excel/test_writers.pyget_exp_unitr   *   s        c                     U SS $ )z7
Returns the first ten items in fixture "float_frame".
N
   r   )float_frames    r   framer!   .   s    
 sr   TFcolumns)paramsc                     U R                   $ N)param)requests    r   merge_cellsr)   6   s    ==r   c                 p    U[         R                  " 5        U  3-  nUR                  5         [        U5      $ )z1
Fixture to open file for use in each test case.
)uuiduuid4touchstr)exttmp_pathtmps      r   	tmp_excelr2   ;   s/    
 

~cU+
+CIIKs8Or   c              #      #    SUR                  S5       S3n[        X 5         Sv   SSS5        g! , (       d  f       g= f7f)a5  
Fixture to set engine for use in each test case.

Rather than requiring `engine=...` to be provided explicitly as an
argument in each test, this fixture sets a global option to dictate
which engine should be used to write Excel files. After executing
the test it rolls back said change to the global option.
z	io.excel..z.writerN)stripr   )enginer/   option_names      r   
set_enginer8   E   s4      ciin-W5K		, 
-	,	,s   !A1	A
?Ar/   .xlsxopenpyxlxlrdmarksz.xlsm
xlsxwriterz.odsodfc                   f   \ rS rSr\R
                  R                  SS\R                  /S-  4SS\R                  /S-  04/5      S 5       r	\R
                  R                  S	SS/4S/ 4/5      S
 5       r
S rS rS r\R
                  R                  SSS/5      \R
                  R                  SSS/5      \R
                  R                  SSS/5      \R
                  R                  SSS/5      S 5       5       5       5       rS rS r\R
                  R                  S/ SQ5      S 5       rSrg)TestRoundTripT   zheader,expectedN   r   z
Unnamed: 0   c                     Sn[        / SQ/ SQ/ SQ/ SQ/5      nUR                  XSSS9  [        R                  " XS/US	9n[        U5      n[        R
                  " Xc5        g )
N	no_header    d   rH         rH   rD   i,  rH   rC   i  F
sheet_nameindexheaderr   rQ   usecolsrS   r
   to_excelpd
read_exceltmassert_frame_equal)selfr2   rS   expectedfilenamedfresults          r   !test_read_one_empty_col_no_header/TestRoundTrip.test_read_one_empty_col_no_header`   s_     lL,OP
I%NQC
 X&
f/r   zheader,expected_extrac                     Sn[        / SQ/ SQ/ SQ/ SQ/5      nUR                  USSSS9  [        R                  " XS	/US
9n[        U[        R
                  /S-  -   5      n[        R                  " Xg5        g )Nwith_headerrG   rK   rN   rO   FTrP   r   rT   rC   )r
   rW   rX   rY   npnanrZ   r[   )r\   r2   rS   expected_extrar^   r_   r`   r]   s           r   #test_read_one_empty_col_with_header1TestRoundTrip.test_read_one_empty_col_with_headerp   sp    
 !lL,OP
I-uTRQC
 ^rvvhl:;
f/r   c                    [        SS/SS/SS//SS/S	9n[        U5       nUR                  US
SSS9  UR                  USSS9  S S S 5        SS/Ul        [	        U5       n[
        R                  " US
S SS/S9n[
        R                  " USS SS/S9nS S S 5        [        R                  " WU5        [        R                  " WU5        g ! , (       d  f       N= f! , (       d  f       NN= f)NrI   foorL   barrD   bazabr#   Data_no_headF)rQ   rS   rR   Data_with_headrQ   rR   AB)rQ   rS   names)rQ   	index_colrv   )	r
   r   rW   r#   r   rX   rY   rZ   r[   )r\   r2   refdfwriterreaderxlsdf_no_headxlsdf_with_heads          r   "test_set_column_names_in_parameter0TestRoundTrip.test_set_column_names_in_parameter   s     Au:5zAu:>c
S#vNN6nURWNXNN6.>eNL $ c
y!VMM>$sCjM !mm+Cj	O	 " 	mU3
ou5% $# "!s   $C!3C
C
C*c                 ~   S n/ SQnU Vs/ s H
  oB" U5      PM     nn[        [        X55      5      n[        U5       nUR                  5        H  u  pxUR	                  XgS9  M     S S S 5        [
        R                  " XSS9n	U H  n[        R                  " XT   X   5        M      g s  snf ! , (       d  f       NM= f)Nc                 &    / SQ/ SQp![        XU /S9$ )N)      !   rI   rL   rD   rp   )r
   )col_sheet_namedis      r   tdfDTestRoundTrip.test_creating_and_reading_multiple_sheets.<locals>.tdf   s    qQN+;<<r   )AAABBBCCCrQ   r   rQ   rw   )	dictzipr   itemsrW   rX   rY   rZ   r[   )
r\   r2   r   sheetssdfsew	sheetnamer_   dfs_returneds
             r   )test_creating_and_reading_multiple_sheets7TestRoundTrip.test_creating_and_reading_multiple_sheets   s    
	= '%&v!s1vv&3v#$#r!$	B5 "- $ }}YQOA!!#&,/:  ' $#s   B))B..
B<c                    [        SS0SS0SS0SS0S.5      n[        SS0SS0SS0SS0S.5      nUR                  U5        [        R                  " USS/SS9n[        R
                  " XC5        [        SS0SS0SS0SS0S.5      n[        SS0SS0SS0SS0S	.5      nUR                  U5        [        R                  " USS/SS9n[        R
                  " XC5        g )
Nr   rI   rD      )OnexTwoXr   Y)ZerorH   )r   r   r   )r   zUnnamed: 4_level_1rS   rw   ))BegrH   Middler   Tailr   r   r   ))r   zUnnamed: 1_level_1r   r   r   rV   )r\   r2   r_   r]   actuals        r   &test_read_excel_multiindex_empty_level4TestRoundTrip.test_read_excel_multiindex_empty_level   s    !f !f !f !f	
  !f !f !f12A	
 	Iy!Q1E
f/V"#Q !1v !1v	
 011v"#Q !1v !1v	
 	Iy!Q1E
f/r   c_idx_namesrn   r_idx_namesro   c_idx_levelsrI   r_idx_levelsc           	      &   [        U5      =(       d    US:*  nUS:X  a  [        [        S5      5      nOV[        R                  " [        U5       Vs/ s H  n[        S5      PM     sn[        U5       V	s/ s H	  o SU	 3PM     sn	S9nUS:X  a  [        [        S5      5      n
OV[        R                  " [        U5       Vs/ s H  n[        S5      PM     sn[        U5       V	s/ s H	  o SU	 3PM     sn	S9n
[        S[        R                  " S5      -  UU
S	9nUR                  U5        [        R                  " U[        [        U5      5      [        [        U5      5      S
9n[        R                  " XUS9  [        R                  UR                  SS S 24'   UR                  U5        [        R                  " U[        [        U5      5      [        [        U5      5      S
9n[        R                  " XUS9  [        R                  UR                  SS S 24'   UR                  U5        [        R                  " U[        [        U5      5      [        [        U5      5      S
9n[        R                  " XUS9  g s  snf s  sn	f s  snf s  sn	f )NrI   abcde   -rv   ghijk皙?)r   r   r#   rR   )rw   rS   )check_namesr   )boolr   listr   from_arraysranger
   re   onesrW   rX   rY   rZ   r[   rf   iloc)r\   r2   r   r   r   r   r   r#   _r   rR   r_   acts                r   test_excel_multindex_roundtrip,TestRoundTrip.test_excel_multindex_roundtrip   s    ;'<<1+<1DM*G ,,#(#67#6aq#675:<5HI5Has+5HIG 1$w-(E**#(#67#6aq#675:<5HI5Has+5HIE "''&/!

 	Imm5./l+,

 	b;?1
Imm5./l+,

 	b;?A
Imm5./l+,

 	b;?S 8I 8Is   I?4J
J	%J
c                 *   [        / SQ[        SSS9S.5      nUR                  5       nUS   R                  R	                  S5      US'   UR                  U5        [        R                  " USS	9n[        R                  " X45        [        R                  " US/SS
9nUS S  nUS   R                  S5      US'   [        R                  " XE5        [        R                  " US/SSS9nUS   R                  S5      US'   [        R                  " XT5        g )Nr   z
2012-01-01rD   )periods)coldate_stringsr   z%m/%d/%Yr   rw   )parse_datesrw   zM8[us])r   date_formatrw   )r
   r   copydtstrftimerW   rX   rY   rZ   r[   astype)r\   r2   r_   df2resr]   s         r   test_read_excel_parse_dates)TestRoundTrip.test_read_excel_parse_dates  s    z,PQ/RS
 ggi!.144==jINYmmI3
c'mmIN3CqQa5#+N#;#B#B8#L 
c,mmN#3WX
 $,N#;#B#B8#L 
h,r   c           	         [         R                  " [        S5      [        R                  " [        R
                  " S5      SSS9/5      n[        [        S5      US9nUR                  U5        [        R                  " USS/S9n[        [        S5      [         R                  " [        S5      / S	Q/5      [        S/5      S
9n[        R                  " XE5        g )NrC   z
2020-01-016ME)startr   freqrR   r   rI   r   )z*(2020-01-31 00:00:00, 2020-07-31 00:00:00]z*(2020-07-31 00:00:00, 2021-01-31 00:00:00]z*(2021-01-31 00:00:00, 2021-07-31 00:00:00]z*(2021-07-31 00:00:00, 2022-01-31 00:00:00]rp   )r   r   r   rX   interval_range	Timestampr
   rW   rY   r   rZ   r[   )r\   r2   midxr_   r`   r]   s         r   "test_multiindex_interval_datetimes0TestRoundTrip.test_multiindex_interval_datetimes5  s    %%a!!,,|4ae
 uQxt,
IyQF;!H""!H
 1#J
 	f/r   r)   r"   c                 L   [        SSS/0[        R                  " [        SSSS9SS	//S
S/S9S9nUR	                  XS9  [
        R                  " USS/S9n[        SSS/0[        R                  " [
        R                  " S5      R                  S5      [
        R                  " S5      R                  S5      /SS	//S
S/S95      nSnUR                  R                  UR                  R                  S   R                  U5      SS9Ul	        [        R                  " XE5        g )Nrt   rI   rL   z
2006-10-06z
2006-10-07D)r   endr   r   r   r   categoryr   r   r)   r   r   z2006-10-06 00:00:00r   z2006-10-07 00:00:00zdatetime64[us]level)r
   r   r   r   rW   rX   rY   to_datetimeas_unitrR   
set_levelslevelsr   rZ   r[   )r\   r2   r)   r_   r`   r]   time_formats          r   &test_excel_round_trip_with_periodindex4TestRoundTrip.test_excel_round_trip_with_periodindexS  s0    1a&M(( |CP#J z*	
 	I7yQF;1a&M"" '<=EEcJ'<=EEcJ #J z*	
 '!22NN!!!$++K8 3 
 	f/r   r   )__name__
__module____qualname____firstlineno__pytestmarkparametrizere   rf   ra   rh   r}   r   r   r   r   r   r   __static_attributes__r   r   r   rA   rA   T   sO    [[
1	L266(Q,#?@A
0	
0 [[
q"g	0		062;.,0\ [[]S$K8[[]S$K8[[^aV4[[^aV4:@ 5 5 9 9:@x-00< [[],DE 0 F 0r   rA   z
engine,extr8   c                      \ rS rSrS rS rS rS rS rS r	S r
\R                  R                  S	\R                  \R                   \R"                  \R$                  /5      S
 5       r\R                  R                  S	\R(                  \R*                  \R,                  /5      S 5       rS rS rS rS rS rS rS rS r\R                  RA                  S5      S 5       r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+S  r,S! r-S" r.S# r/\R                  R                  S$S%S&/5      \R                  R                  S'/ S(Q5      \R                  R                  S)/ S(Q5      S* 5       5       5       r0S+ r1S, r2S- r3\R                  R                  S.S/S0/5      S1 5       r4S2 r5S3 r6S4 r7S5 r8S6 r9S7 r:S8 r;S9 r<S: r=S; r>S< r?S= r@S> rA\R                  R                  S?S@\B/5      SA 5       rCSB rDSC rESD rFSE rGSF rH\R                  R                  SGS%S&/5      SH 5       rISI rJ\R                  R                  SJS%S&/5      SK 5       rK\R                  R                  SJS%S&/5      SL 5       rLSMrMg@)NTestExcelWriteriw  c                    SnSn[         R                  " US4S9n[         R                  " SU4S9n[        U5      n[        U5      nSn[        R                  " [
        US9   UR                  U5        S S S 5        [        R                  " [
        US9   UR                  U5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Ni  i@  rI   )shapezsheet is too largematch)re   zerosr
   r   raises
ValueErrorrW   )	r\   r2   breaking_row_countbreaking_col_countrow_arrcol_arrrow_dfcol_dfmsgs	            r   test_excel_sheet_size%TestExcelWriter.test_excel_sheet_size  s    &&(("4a!89((!%7!897#7#"]]:S1OOI& 2 ]]:S1OOI& 21 21 21s   "B0C0
B>
Cc           
         [        [        R                  R                  S5      R	                  S5      [        [        [        S5      5      5      S9nUR                  U5        [        U5       n[        R                  " USSS9nS S S 5        [        R                  " UW5        Sn[        R                  " [         US9   [        R                  " WS	5        S S S 5        g ! , (       d  f       Na= f! , (       d  f       g = f)
NrL   r   rL   r   r   r   r   zWorksheet named '0' not foundr   0)r
   re   randomdefault_rngstandard_normalr   r   r   rW   r   rX   rY   rZ   r[   r   r   r   )r\   r2   gtxlr_   r  s         r   test_excel_sheet_by_name_raise.TestExcelWriter.test_excel_sheet_by_name_raise  s    II!!!$44W=U2Y(
 	Iy!Rra1=B " 	b"%-]]:S1MM"c" 21 "! 21s   .C ?C1 
C.1
C?c                    [        U5       nUR                  USS9  UR                  5       nUR                  S S S2   Ul        UR                  USS9  S S S 5        [	        U5       n[
        R                  " USSS9n[
        R                  " USSS9n[        R                  " Xa5        [        R                  " UW5        S S S 5        g ! , (       d  f       N|= f! , (       d  f       g = f)NData1r   r   Data2r   r   )	r   rW   r   r#   r   rX   rY   rZ   r[   )r\   r!   r2   ry   frame2rz   found_df	found_df2s           r   !test_excel_writer_context_manager1TestExcelWriter.test_excel_writer_context_manager  s    #vNN6gN6ZZ\F"]]4R40FNOOFwO7	 $ y!V}}V1MHfANI!!(2!!)V4 "! $# "!s   AC
'AC

C
C)c                 >   UR                  5       n[        R                  UR                  S S2UR                  R                  S5      4'   UR                  USS9  UR                  USSS/S9  UR                  USSS9  UR                  USSS	9  UR                  USS9  [        R                  " USS
S9n[        R                  " X5        UR                  USSS	9  [        R                  " USS S9nUR                  Ul        [        R                  " X5        UR                  USSS9  [        R                  " USS
S/S9n[        R                  " X5        UR                  USSS9  [        R                  " USS
S/S9n[        R                  " X5        UR                  USSS9  [        R                  " USS
SS/S9n[        R                  " X5        UR                  USS9  [        R                  " US
S9n[        R                  " X5        UR                  USS9  [        R                  " US
S9n[        R                  " X5        US   nUR                  U5        [        R                  " US
S9n[        R                  " UR                  5       U5        g )Nr   rt   test1r   ru   rQ   r#   FrQ   rS   rs   r   r   NA)rQ   na_rep)rQ   rw   	na_values88X   g      V@Sheet1r   r
  )r   re   rf   r   r#   get_locrW   rX   rY   rZ   r[   rR   to_frame)r\   r!   r2   reconsr   s        r   test_roundtripTestExcelWriter.test_roundtrip  s@   

57VV

2A2u}},,S112yW5yWsCjIyWUCyWEB 	yW5yWJ
e,yWEByWM{{
e,yWTB'Q4&
 	e, 	yWTB'Q4&
 	e,yWTB'Q2t*
 	e, 	yX6yA6
e,yS1yA6
e, #J	

9yA6
ajjlF3r   c                     UR                  5       nSUS'   UR                  USS9  [        U5       n[        R                  " USSS9nS S S 5        [
        R                  " UW5        g ! , (       d  f       N&= f)Nrl   rk   r  r   r   r   )r   rW   r   rX   rY   rZ   r[   )r\   r!   r2   mixed_framerz   r&  s         r   
test_mixedTestExcelWriter.test_mixed  sd    jjl"EY7;y!V]]6gKF "
k62 "!s   A((
A6c           
      >   [        U5      n[        [        R                  R	                  S5      R                  S5      [        [        S5      5      [        SSSS9S9n[        R                  " [        R                  " UR                  5      S S	9nXCl        US S  nUR                  R                  U5      Ul        UR                  US
S9  [        U5       n[        R                   " US
SS9nS S S 5        ["        R$                  " UW5        g ! , (       d  f       N&= f)NrL   r   rC   ABCD
2000-01-01r   ru   r   r   r   r   r  r   r   r   )r   r
   re   r  r  r  r   r   r   rX   DatetimeIndexasarrayrR   r   rW   r   rY   rZ   r[   )r\   r2   unitr_   rR   r]   rz   r&  s           r   test_ts_frameTestExcelWriter.test_ts_frame  s    I&II!!!$44V<$v,'\13?
   BHH!5DAa5!//5
I'2y!V]]6gKF "
h/ "!s   D
Dc                 "   UR                  5       n[        R                  UR                  S S2UR                  R                  S5      4'   UR                  USS9  UR                  USSS/S9  UR                  USSS9  UR                  USSS	9  g )
Nr   rt   r  r   ru   r  Fr  rs   )r   re   rf   r   r#   r$  rW   )r\   r!   r2   s      r   test_basics_with_nan$TestExcelWriter.test_basics_with_nan  s    

57VV

2A2u}},,S112yW5yWsCjIyWUCyWEBr   np_typec                    [        [        R                  R                  S5      R	                  SSSS9U[        [        [        S5      5      5      S9nUR                  USS9  [        U5       n[        R                  " USS	S
9nS S S 5        UR                  [        R                  5      n[        R                  " UW5        [        R                  " USS	S
9n[        R                  " Xg5        g ! , (       d  f       Nq= f)NrL   r   r	  sizedtyperR   r  r   r   r   )r
   re   r  r  integersr   r   r   rW   r   rX   rY   r   int64rZ   r[   )r\   r;  r2   r_   rz   r&  	int_framerecons2s           r   test_int_typesTestExcelWriter.test_int_types  s     II!!!$--c2G-DU2Y(

 	I'2y!V]]6gKF " IIbhh'	
i0--	gK
i1 "!s   .C00
C>c                    [        [        R                  R                  S5      R                  S5      U[	        [        [        S5      5      5      S9nUR                  USS9  [        U5       n[        R                  " USSS9R                  U5      nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)NrL   r   r@  r  r   r   r   )r
   re   r  r  r   r   r   rW   r   rX   rY   r   rZ   r[   )r\   r;  r2   r_   rz   r&  s         r   test_float_types TestExcelWriter.test_float_types+  s     II!!!$++B/U2Y(

 	I'2y!V]]6gKRRF "
 	b&) "!s   .&B44
Cc                 n   [        / SQ[        R                  [        [	        [        S5      5      5      S9nUR                  USS9  [        U5       n[        R                  " USSS9R                  [        R                  5      nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)N)rI   r   TFrC   r@  r  r   r   r   )r
   re   bool_r   r   r   rW   r   rX   rY   r   rZ   r[   r\   r2   r_   rz   r&  s        r   test_bool_typesTestExcelWriter.test_bool_types<  s    *"((%USTXBWX
I'2y!V]]6gKRRF "
 	b&) "!s   4B&&
B4c           
      Z   [        S[        R                  4SS[        R                  * 4/[        [	        [        S5      5      5      S9nUR                  USS9  [        U5       n[        R                  " USSS	9nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)
NrI   )rL   rD   r   rD   r   r  r   r   r   )r
   re   infr   r   r   rW   r   rX   rY   rZ   r[   rM  s        r   test_inf_roundtrip"TestExcelWriter.test_inf_roundtripH  s    BFFVa"&&\:%USTXBWX
I'2y!V]]6gKF " 	b&) "!s   %B
B*c           
         [        U5      n[        [        R                  R	                  S5      R                  S5      [        [        S5      5      [        SSSS9S9n[        R                  " [        R                  " UR                  5      S S	9nXTl        US S  nUR                  R                  U5      Ul        UR                  5       n[        R                  UR                   S S2UR"                  R%                  S
5      4'   UR'                  USS9  UR'                  USS
S/S9  UR'                  USSS9  UR'                  USSS9  [)        U5       nUR'                  USS9  UR'                  USS9  S S S 5        [+        U5       n[        R,                  " USSS9n	[.        R0                  " X5        [        R,                  " USSS9n	S S S 5        [.        R0                  " UW	5        S[3        WR4                  5      :X  d   eSUR4                  S   :X  d   eSUR4                  S   :X  d   eg ! , (       d  f       N= f! , (       d  f       N|= f)NrL   r.  r/  r0  r   ru   r1  r   r2  rt   r  r   r  Fr  rs   test2r   r   rI   )r   r
   re   r  r  r  r   r   r   rX   r3  r4  rR   r   r   rf   r   r#   r$  rW   r   r   rY   rZ   r[   lensheet_names)
r\   r!   r2   r5  tsframerR   r]   ry   rz   r&  s
             r   test_sheetsTestExcelWriter.test_sheetsQ  s   I&II!!!$44V<$v,'\13?
   GMM!:F1:!//5

57VV

2A2u}},,S112yW5yWsCjIyWUCyWEB #vNN6gN6V8 $ y!V]]6gKF!!%0]]6gKF " 	h/C**++++&,,Q////&,,Q//// $# "!s   !H2
AI2
I 
Ic                 .   UR                  5       n[        R                  UR                  S S2UR                  R                  S5      4'   UR                  USS9  UR                  USSS/S9  UR                  USSS9  UR                  USSS	9  [        / S
Q5      nUR                  USUS9  [        U5       n[        R                  " USSS9nS S S 5        UR                  5       nX6l        [        R                  " UW5        g ! , (       d  f       N<= f)Nr   rt   r  r   ru   r  Fr  rs   )AAr   r   Zr   r   )r   re   rf   r   r#   r$  rW   r   r   rX   rY   rZ   r[   )r\   r!   r2   col_aliasesrz   rsxps          r   test_colaliasesTestExcelWriter.test_colaliasesu  s    

57VV

2A2u}},,S112yW5yWsCjIyWUCyWEB 12yW[Iy!Vv'QGB "ZZ\ 

b"%	 "!s   9D
Dc           
         UR                  5       n[        R                  UR                  S S2UR                  R                  S5      4'   UR                  USS9  UR                  USSS/S9  UR                  USSS9  UR                  USSS	9  [        [        R                  R                  S
5      R                  S5      5      S:  nUR                  USS/US9  [        U5       n[        R                  " USSS9R                  [        R                  5      nS S S 5        S/UR                   l        UR                   R"                  WR                   R"                  :X  d   e[        [        R                  R                  S
5      R                  S5      5      S:  nUR                  US/ SQUS9  [        U5       n[        R                  " USSS9R                  [        R                  5      nS S S 5        S/UR                   l        UR                   R"                  UR                   R"                  :X  d   e[        [        R                  R                  S
5      R                  S5      [%        ['        [)        S5      5      5      S9S:  nUR                  USSUS9  [        U5       n[        R                  " USSS9R                  [        R                  5      nS S S 5        S/UR                   l        [*        R,                  " XFR                  [.        5      5        UR                  US/ SQSUS9  UR                  5       nUR1                  SS/5      n[        U5       n[        R                  " USSS/S9nS S S 5        [*        R,                  " XF5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       NZ= f)Nr   rt   r  r   ru   r  Fr  rs   rL   r	  r   test)rQ   index_labelr)   r   )rd  dummydummy2r   r   )rt   ru   Cr   )rQ   r#   rR   r)   rI   )r   re   rf   r   r#   r$  rW   r
   r  r  r  r   rX   rY   r   rC  rR   rv   r   r   r   rZ   r[   r   	set_index)r\   r)   r!   r2   r_   rz   r&  s          r   test_roundtrip_indexlabels*TestExcelWriter.test_roundtrip_indexlabels  s*   

57VV

2A2u}},,S112yW5yWsCjIyWUCyWEB ryy,,Q/??HIQN
'x[ 	 	
 y!V]]6gKRRF " !xx~~!3!3333ryy,,Q/??HIQN
3#	 	 	
 y!V]]6gKRRF " !xx~~!3!3333 		%%a(88ADrO, 	 	 	'v; 	 	
 y!V]]6gKRRF " !
b--"56(# 	 	
 ZZ\\\3*%y!V]]6g!QPF "
b)g "! "!" "!$ "!s0   (4N ?4N2.4O(O 
N/2
O
O
O#c                    [        [        R                  R                  S5      R	                  S5      5      nSUR
                  l        UR                  X!S9  [        U5       n[        R                  " XDR                  S   SS9nS S S 5        [        R                  " WU5        UR
                  R                  S:X  d   eg ! , (       d  f       NB= f)NrL   )r   rC   rk   r   r   r   )r
   re   r  r  r  rR   namerW   r   rX   rY   rW  rZ   r[   )r\   r)   r2   r_   xfr`   s         r   test_excel_roundtrip_indexname.TestExcelWriter.test_excel_roundtrip_indexname  s    ryy,,Q/??HI
I7y!R]]2..2CqQF " 	fb)||  E)))	 "!s   ##C
Cc           
         [        U5      n[        [        R                  R	                  S5      R                  S5      [        [        S5      5      [        SSSS9S9n[        R                  " [        R                  " UR                  5      S S	9nXTl        UR                  5       nUR                   Vs/ s H  owR                  5       PM     snUl        UR                  US
US9  [!        U5       n[        R"                  " US
SS9n	S S S 5        US S  n
U
R                  R%                  U5      U
l        [&        R(                  " U
W	5        g s  snf ! , (       d  f       NP= f)NrL   r.  r/  r0  r   ru   r1  r   r2  r  rQ   r)   r   r   )r   r
   re   r  r  r  r   r   r   rX   r3  r4  rR   r   r   rW   r   rY   r   rZ   r[   )r\   r)   r2   r5  rX  rR   tsfr   rz   r&  r]   s              r   test_excel_roundtrip_datetime-TestExcelWriter.test_excel_roundtrip_datetime  s   I& II!!!$44V<$v,'\13?

   GMM!:Flln'.}}5}!VVX}5	Y7Ly!V]]6gKF " 1:!//5
h/ 6 "!s   5E2E
E!c                    [        U5      n[        [        SSS5      [        SSS5      /[        SSS	S
SS5      [        SSSSSS5      //SS/SS/S9n[        [        SSS5      [        SSS5      /[        SSS	S
SS5      [        SSSSSS5      //SS/SS/S9nUR	                  SU S35      nUSU 3-  nUR                  5         [        U5       nUR                  USS9  S S S 5        [        USSS9 n	UR                  U	SS9  S S S 5        [        U5       n
[        R                  " U
SSS9nS S S 5        [        U5       n[        R                  " USSS9nS S S 5        WR	                  SU S35      n[        R                  " WU5        [        R                  " X5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Ni  rI      i  	      i  r         r   rC   rL         DATEDATETIMEr   r   rR   r#   M8[]tmp2r  r   z
DD.MM.YYYYzDD.MM.YYYY HH-MM-SS)r   datetime_formatr   r   )r   r
   r   r   r   r-   r   rW   r   rX   rY   rZ   r[   )r\   r/   r2   r0   r5  r_   df_expected	filename2writer1writer2reader1rs1reader2rs2s                 r   test_excel_date_datetime_format/TestExcelWriter.test_excel_date_datetime_format  s    I&dAr"Dq"$56$2r2q18D!RQPR3ST :&#J
  $2&q"(=>$2r2q18D!RQPR3ST :&#J
 "((3tfA7cU|+	#wKKGK4 $ $1
 KKGK4
 y!W--GqIC " y!W--GqIC " jj3tfA'
c3' 	c// $#
 
 "! "!s0   F&6F7GG&
F47
G
G
G'z7ignore:invalid value encountered in cast:RuntimeWarningc                    [        [        R                  R                  S5      R	                  SSSS9[        R
                  S9nUR                  5       n[        R                  " US   S5      US'   [        R                  " US   S5      R                  U(       d  [        OS	5      US'   UR                  US
S9  [        U5       n[        R                  " US
SS9nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)NrL   r=  r      rI   r>  rA  r   newr.   r  r   r   )r
   re   r  r  rB  rC  r   rX   cutr   r.   rW   r   rY   rZ   r[   )r\   r2   using_infer_stringr_   r]   rz   r&  s          r    test_to_excel_interval_no_labels0TestExcelWriter.test_to_excel_interval_no_labels!  s     II!!!$--c2G-DBHH
 779FF2a5"%5	&&!b188)Cu
 	I'2y!V]]6gKF "
h/ "!s   C==
Dc                    [        [        R                  R                  S5      R	                  SSSS9[        R
                  S9nUR                  5       n[        R                  " US   S/ SQS	9nXBS
'   [        R                  " [        U5      5      US
'   UR                  USS9  [        U5       n[        R                  " USSS9nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)NrL   r=  r   r  r>  r  r   )
rt   ru   rh  r   EFGHIJ)labelsr  r  r   r   )r
   re   r  r  rB  rC  r   rX   r  Seriesr   rW   r   rY   rZ   r[   )r\   r2   r_   r]   	intervalsrz   r&  s          r   test_to_excel_interval_labels-TestExcelWriter.test_to_excel_interval_labels7  s     II!!!$--c2G-DBHH
 779FFqE2P
	 5	))DO4
I'2y!V]]6gKF "
h/ "!s   1C((
C6c                    [        [        R                  R                  S5      R	                  SSSS9S/[        R
                  S9nUR                  5       nUS   R                  S 5      US	'   US   R                  S
 5      US	'   UR                  USS9  [        U5       n[        R                  " USSS9nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)NrL   r=  r   r  r>  rt   r#   rA  c                     [        U S9$ )Nseconds)r   r   s    r   <lambda>9TestExcelWriter.test_to_excel_timedelta.<locals>.<lambda>U  s	    Ia,@r   r  c                 6    [        U S9R                  5       S-  $ )Nr  iQ )r   total_secondsr  s    r   r  r  W  s    i*88:UBr   r  r   r   r   )r
   re   r  r  rB  rC  r   applyrW   r   rX   rY   rZ   r[   )r\   r2   r_   r]   rz   r&  s         r   test_to_excel_timedelta'TestExcelWriter.test_to_excel_timedeltaJ  s     II!!!$--c2G-DE((

 779sGMM"@A5	"3---B
 	I'2y!V]]6gKF "
h/ "!s   "C
C'c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nUR                  S	5      R                  5       R                  S
5      nUR                  USS9  [        U5       n[        R                  " USSS9nS S S 5        [        R                   " UWR                  S
5      5        g ! , (       d  f       N5= f)NrL   r.  r/  r0  r   ru   r1  r   MEMsht1r   r   r   )r
   re   r  r  r  r   r   r   resamplemean	to_periodrW   r   rX   rY   rZ   r[   )r\   r2   r_   r`  rz   r_  s         r   test_to_excel_periodindex)TestExcelWriter.test_to_excel_periodindex_  s    II!!!$44V<$v,'\13?

 [[##%//4
I&1y!Vv&AFB "
b",,s"34 "!s   C""
C0c                    [         R                  " [        UR                  5      S-  [         R                  S9R                  SS5      n[        R                  " USS/S9nXRl        UR                  USSS	9  UR                  USS
S/S9  UR                  USUS9  [        U5       n[        R                  " USSS/S9nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)NrL   r  r   firstsecondr   r  Fr  rt   ru   r  rr  r   rI   r   )re   arangerV  rR   rC  reshaper   r   rW   r   rX   rY   rZ   r[   )r\   r)   r!   r2   arrays	new_indexrz   r_   s           r   test_to_excel_multiindex(TestExcelWriter.test_to_excel_multiindexn  s    3u{{+a/rxx@HHBO**6'89LM	yWUCyWsCjI 	yW+Ny!Vv'aVLB "
eR( "!s   'C  
C.c                     [        / SQ/ SQ[        R                  R                  S5      R                  S5      S.5      nUR	                  SS/5      nUR                  X!S9  [        R                  " US	S
/S9n[        R                  " X45        g )N)NrL   rD   )r   r     rL   rD   rt   ru   rh  rt   ru   r   r   rI   r   )
r
   re   r  r  ri  rW   rX   rY   rZ   r[   )r\   r)   r2   r_   df1s        r   "test_to_excel_multiindex_nan_label2TestExcelWriter.test_to_excel_multiindex_nan_label}  sx    !!YY**1-44Q7
 \\3*%
I7mmI!Q8
b&r   c                    [        / SQ/ SQ/ SQS.5      n[        R                  " [        UR                  5      S-  [        R
                  S9R                  SS5      n[        R                  " USS	/S
9nXSl        [        R                  " / SQ5      nXcl
        UR                  USUS9  [        U5       n[        R                  " USSS/SS/S9nS S S 5        [        R                   " WU5        [        U5       n[        R                  " USS S S9nS S S 5        [        [        R"                  [        R"                  SSSS/[        R"                  [        R"                  S	SSS/SS[        R"                  SSS/[        R"                  S[        R"                  SSS/SS[        R"                  SSS/S.5      n	U(       d  SU	R$                  S '   [        R                   " X5        g ! , (       d  f       GN= f! , (       d  f       N= f)!Nr   rC   r      )r      rx  r  rL   r  r   r  r  r   ))(   rI   )r  rL   )2   rI   r  rr  r   rI   rQ   rS   rw   rD   rC   r   g      D@g      ?g       @      @g      @g      @g      @g      I@g      @g       @g      "@)r   rI   rL   rD   rC   )r   rD   )r
   re   r  rV  rR   rC  r  r   r   from_tuplesr#   rW   r   rX   rY   rZ   r[   rf   loc)
r\   r)   r2   r!   r  r  new_cols_indexrz   r`   r]   s
             r   test_to_excel_multiindex_cols-TestExcelWriter.test_to_excel_multiindex_cols  s   
 3u{{+a/rxx@HHBO**6'89LM	#//0KL&yW+N y!V]]7Aq6aVF " 	fe, y!V]]744F " FFBFFGQ15FFBFFHaA6#rvvsC5FFCc37#rvvsC5
 !%HLL
f/1 "! "!s   6G(<G:(
G7:
Hc           
         [        U5      n[        [        R                  R	                  S5      R                  S5      [        [        S5      5      [        SSSS9S9n[        R                  " UR                  R                  U5      [        R                  " [        UR                  5      [        R                  S	9/S
S/S9Ul        UR!                  USUS9  [#        U5       n[$        R&                  " USSS/S9nS S S 5        [(        R*                  " UW5        UR                  R,                  S:X  d   eg ! , (       d  f       NB= f)NrL   r.  r/  r0  r   ru   r1  r   r  timerk   r   r  rr  r   rI   r   )r  rk   )r   r
   re   r  r  r  r   r   r   r   r   rR   r   r  rV  rC  rW   r   rX   rY   rZ   r[   rv   )r\   r)   r2   r5  rX  rz   r&  s          r   test_to_excel_multiindex_dates.TestExcelWriter.test_to_excel_multiindex_dates  s	   I&II!!!$44V<$v,'\13?

 #..%%d+		#gmm,BHH= 5/
 	wKPy!V]]6g!QPF " 	gv.||!!_444	 "!s   %D::
Ec                 N   [        SS/SS/SS/S.5      nUR                  5       n[        R                  " SS	/5      nXCl        UR                  US
SS9  [        U5       n[        R                  " US
S9nS S S 5        [        R                  " UW5        g ! , (       d  f       N&= f)Nr   r  r  r  r  <   )rn   ro   c)F   P   )Z   rJ   r  Frs   r   )r
   r   r   r  rR   rW   r   rX   rY   rZ   r[   )r\   r2   frame1r  multi_indexrz   frame3s          r   'test_to_excel_multiindex_no_write_index7TestExcelWriter.test_to_excel_multiindex_no_write_index  s     "bRBxHI  ,,h	-BC" 		gUC y!V]]6g>F " 	ff-	 "!s    B
B$c                     [        / / SQS9n[        / [        R                  " / SS/S9S/S9nUR                  USS	9  [	        U5       n[
        R                  " USS	9nS S S 5        [        R                  " WUS
S
S9  g ! , (       d  f       N&= f)N)r   rI   rL   rp   r   rI   r   rL   r  r  r   F)check_index_typecheck_dtype)	r
   r   r  rW   r   rX   rY   rZ   r[   )r\   r2   r]   r_   rz   r`   s         r   test_to_excel_empty_multiindex.TestExcelWriter.test_to_excel_empty_multiindex  s    R3r!7!71a&!ITUSVW
I'2y!V]]6g>F "
Hu%	
 "!s   	A??
Bc                     [        / [        R                  " / SS/S9[        R                  " S/5      S9nUR                  U5        [        R
                  " USS/SS/S9n[        R                  " X25        g )Nr   rI   r   rt   ru   r  r   )r
   r   r  rW   rX   rY   rZ   r[   r\   r2   r_   r`   s       r   (test_to_excel_empty_multiindex_both_axes8TestExcelWriter.test_to_excel_empty_multiindex_both_axes  si    ((Aq6:**J<8

 	Iy!QAq6J
f)r   c                    [        / SQ/ SQ/SS// SQS9nUR                  USSS	9  [        U5       n[        R                  " USS
S9nS S S 5        [        / SQ/ SQ/SS// SQS9n[
        R                  " WU5        g ! , (       d  f       N;= f)Ng~Ϛ?g9DܜJ?g>D)?g.4i(@33333@̤Art   ru   r   r   r]  r  r  %.2frQ   float_formatr   r   gQ?gq=
ףp?g=
ףp=?gp=
ף(@r  r  )r
   rW   r   rX   rY   rZ   r[   r\   r2   r_   rz   r`   r]   s         r   test_to_excel_float_format*TestExcelWriter.test_to_excel_float_format  s    +-KL*#

 	I'Gy!V]]6gKF " !>?*#

 	fh/ "!s   A>>
Bc                 X   [        SS[        S5      /SS[        S5      //SS// SQS9nUR                  U5        [        U5       n[        R
                  " US	[        S
9nS S S 5        [        / SQ/ SQ/SS// SQ[        S9n[        R                  " WU5        g ! , (       d  f       N@= f)NGz?1.23=
ףp=@4.56rt   ru   r  r  r   )rw   rA  )r  r  r  )r   r  r   )rR   r#   rA  )	r
   r   rW   r   rX   rY   objectrZ   r[   r  s         r   !test_to_excel_datatypes_preserved1TestExcelWriter.test_to_excel_datatypes_preserved  s     vwv/vwv/ *#
 	Iy!V]]6QfEF " $$ *#
 	fh/ "!s   B
B)c                     [        / SQ/ SQ/SS// SQS9nUR                  USS9  [        R                  " USS	S
9n[        R
                  " X25        g )N)u   ƒu   Ɠu   Ɣ)u   ƕu   Ɩu   Ɨu   Aƒru   )u   XƓr   r]  r  	TestSheetr   r   r   rV   r  s       r   test_to_excel_output_encoding-TestExcelWriter.test_to_excel_output_encoding.  sR    +-KLc")
 	I+6y[AN
f)r   c                 N   USU 3-  nUR                  5         [        / SQ/ SQ/SS// SQS9nUR                  USS	S
9  [        U5       n[        R
                  " USSS9nS S S 5        [        / SQ/ SQ/SS// SQS9n[        R                  " WU5        g ! , (       d  f       N;= f)Nu   ƒu.r  r  rt   ru   r  r  r  r  r  r   r   r  r  )r-   r
   rW   r   rX   rY   rZ   r[   )r\   r/   r0   r^   r_   rz   r`   r]   s           r   test_to_excel_unicode_filename.TestExcelWriter.test_to_excel_unicode_filename:  s    ..+-KL*#

 	HvFx F]]6gKF ! !>?*#

 	fh/ ! s   
B
B$use_headersTFr_idx_nlevelsr   c_idx_nlevelsc                 >  ^^ SUU4S jjnU(       a  SOS nU" [        S/5      XG5      nUR                  S:X  d   eUR                  S   [        R                  Ld   eSn	Sn
US:X  a,  [        [        U
5       Vs/ s H  nSU 3PM
     sn[        S	9nOU[        R                  " [        U5       Vs/ s H  n[        U
5      PM     sn[        U5       Vs/ s H  nS
U 3PM
     snS9nUS:X  a,  [        [        U	5       Vs/ s H  nSU 3PM
     sn[        S	9nOU[        R                  " [        U5       Vs/ s H  n[        U	5      PM     sn[        U5       Vs/ s H  nSU 3PM
     snS9n[        [        R                  " X45      UUS9nUS:  a,  Sn[        R                  " [        US9   U" XSS9  S S S 5        g U" X5      nU(       a  UR                  XU-   4:X  d   eOUR                  U	S-
  X-   4:X  d   e[        [        UR                  5      5       HL  n[        [        UR                   5      5       H'  nUR                  UU4   [        R                  La  M'   e   MN     g s  snf s  snf s  snf s  snf s  snf s  snf ! , (       d  f       g = f)Nr   c                    > U R                  TUTUS9  [        T5       n[        R                  " XDR                  S   US9sS S S 5        $ ! , (       d  f       g = f)N)rS   r)   rR   r   r  )rW   r   rX   rY   rW  )datarS   
parser_hdrrR   rn  r)   r2   s        r   	roundtrip;TestExcelWriter.test_excel_010_hemstring.<locals>.roundtripT  sO    MM&k   9%}}>>!#4Z &%%s   "A
A)rI   rL   )r   r   r   rD   rI   za-r  i-r   zb-zj-r   z_Writing to Excel with MultiIndex columns and no index \('index'=False\) is not yet implemented.r   Fr   )Tr   T)r
   r   r   re   rf   r   r   r  r   r   r   r   r   NotImplementedErrorrV  rR   r#   )r\   r)   r  r  r  r2   r  parser_headerr   nrowsncolsr   r#   r   rR   r_   r  rr  s    `   `             r   test_excel_010_hemstring(TestExcelWriter.test_excel_010_hemstringN  sk   	 	 )d	1#CyyF"""xx~RVV+++ 
 AuU|<|!r!X|<FKG ,,',]';<';!u';<).})=>)=AA3x)=>G AU5\:\Rs8\:&IE**',]';<';!u';<).})=>)=AA3x)=>E
 GGUN#
 1>  2#>"7 ?> B,CyyUM,A$BBBB yyUQY0E$FFFF 3syy>*s3;;/0A88AqD>777 1 +O = => ; =>  ?>s0   :I01I5I:
I?8JJ	
1J
Jc                 .   [        / SQ/ SQ/ SQ// SQS9nUR                  USS9  [        / SQ/ SQ/ SQ// SQS9n[        R                  " USSS9n[        R
                  " XC5        [        / S	Q/ S
Q// SQS9nUR                  USS9  [        R                  " USSS9n[        / S	Q/ S
Q// SQS9n[        R
                  " XC5        UR                  USSSS9  [        R                  " USS S9n[        / S	Q/ S
Q/5      n[        R
                  " XC5        g )Nr   )rt   ru   ru   rp   r  r   )rt   ru   B.1r   r   )rI   rL   rD   rC   )r   r  r   r  )rt   ru   rt   ru   )rt   ru   A.1r  FrP   r  rV   r\   r2   r_   r]   r`   s        r   test_duplicated_columns'TestExcelWriter.test_duplicated_columns  s    	9i8/R
I'2	9-7H

 yWJ
f/ l3=QR
I'2yWJ<(2J
 	f/ 	I'uMyWTJlL9:
f/r   c                     [        / SQ/ SQS.5      nUR                  USSS/S9  [        R                  " USSS	9n[        R
                  " US   US   5        [        R
                  " US   US   5        g )
NrI   rI   rI   rL   rL   rL   r  r  ru   rt   r  r   r  )r
   rW   rX   rY   rZ   assert_series_equal)r\   r2   write_frame
read_frames       r   test_swapped_columns$TestExcelWriter.test_swapped_columns  sn    ii @AY7S#JO]]9K

{3/CA
{3/CAr   c                 @   [        / SQ/ SQS.5      n[        R                  " [        SS9   UR	                  USSS/S	9  S S S 5        [        R                  " [        S
S9   UR	                  USSS/S	9  S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nr$  r%  r  zNot all names specifiedr   r  ru   rh  r  z.'passes columns are not ALL present dataframe'r   )r
   r   r   KeyErrorrW   )r\   r2   r'  s      r   test_invalid_columns$TestExcelWriter.test_invalid_columns  s    ii @A]]8+DE  wc
 S F ]]L
   wc
 S
 
 FE
 
s   A>!B>
B
Bz#to_excel_index,read_excel_index_col)Tr   )FNc                     [        / SQ/ SQ/ SQS.5      nUR                  USSS/US9  USS/   n[        R                  " USUS	9n[        R
                  " XV5        g )
Nr$  r%  )rD   rD   rD   r  col_subset_bugrt   ru   )rQ   r#   rR   r   rV   )r\   r2   to_excel_indexread_excel_index_colr'  r]   r(  s          r   test_write_subset_columns)TestExcelWriter.test_write_subset_columns  so      iii PQ'#J 	 	 	
 Sz*]]"2>R

 	h3r   c                 (   [        / SQ/ SQS.5      nUR                  USS9  [        R                  " USSS9nS UR                  S'   S UR                  S	'   S UR                  S
'   [        R                  " USSSS9n[
        R                  " X45        g )Nonez#oner7  twor9  z#twor  test_cr   r   r   )rI   r   rI   rI   )rL   rI   #rQ   commentrw   )r
   rW   rX   rY   r   rZ   r[   r\   r2   r_   result1result2s        r   test_comment_arg TestExcelWriter.test_comment_arg  s     3:PQR
I(3 --	h!L!T!T!T--(C1
 	g/r   c                     [        / SQ/ SQS.5      nUR                  USS9  [        R                  " USS9n[        R                  " USS S9n[        R
                  " X45        g )Nr6  r8  r  r:  r   )rQ   r>  rV   r?  s        r   test_comment_default$TestExcelWriter.test_comment_default  sW    
 3:PQR
I(3 --	h?--	hM
g/r   c                     [        / SQ/ SQS.5      nUR                  USS9  [        / SQ/ SQS.5      n[        R                  " USSS	S
9n[        R
                  " XC5        g )Nr6  r8  r  r:  r   )r7  Nr7  )r9  NNr<  r   r=  rV   r   s        r   test_comment_used!TestExcelWriter.test_comment_used  s[     3:PQR
I(3 #7>QRSyXsVWX
f/r   c                     [        SS/SS/S.5      nUR                  USS9  [        S/S	/S.5      n[        R                  " US
S9n[        R
                  " XC5        g )N1z#223)rn   ro   Fr   rI   rL   r<  )r>  rV   r   s        r   test_comment_empty_line'TestExcelWriter.test_comment_empty_line  s^     c4[Sz:;
IU+ A3aS12y#6
f/r   c                 2   [        U5      n[        SSSSSS5      [        SSSSSS5      [        SSSSS	S
5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      /n[        SU05      nUR                  USS 9  [        R
                  " USSS!9nUR                  S"U S#35      n[        R                  " US   US   5        g )$Ni  rI   r}  rL   rD   -   8   rC      1   r  *   r   9   #   rx  )   r|  r            5      %   r      r  4   rt   r#  r   r  r  r  )	r   r   r
   rW   rX   rY   r   rZ   r&  )r\   r2   r5  	datetimesr'  r(  r]   s          r   test_datetimesTestExcelWriter.test_datetimes!  s?   I&T1b!Q*T1b!R,T1b!R,T1b!R,T1b!R,T1b!R,T1b"b"-T1b"a,T1b"b!,T1b"b!,T1b"b"-
	  i 01Y8<]]9!L
%%D6m4
x}jo>r   c                    [        5        n[        [        R                  R	                  S5      R                  S5      5      n[        X!S9 nUR                  U5        S S S 5        UR                  S5        [        R                  " USS9n[        R                  " X55        S S S 5        g ! , (       d  f       NS= f! , (       d  f       g = f)NrL   r	  r6   r   r   )r   r
   re   r  r  r  r   rW   seekrX   rY   rZ   r[   )r\   r6   bior_   ry   	reread_dfs         r   test_bytes_ioTestExcelWriter.test_bytes_io9  s    Y#299003CCGLMB S0FF# 1 HHQKcQ7I!!"0 Y 10	 Ys%   AB<B+AB<+
B9	5B<<
C
c                 `   [        SSS.SSS./5      nSSSS.nS	US
'   S	US'   US
:X  a)  [        R                  R                  U5      (       d  SUS
'   [        R
                  " [        [        R                  " XA   5      S9   UR                  UUSS0S9  S S S 5        g ! , (       d  f       g = f)NrI   rL   r  rD   rC   zBOpenDocumentSpreadsheet() got an unexpected keyword argument 'foo'z3__init__() got an unexpected keyword argument 'foo')r?   r:   r>   z<Workbook.__init__() got an unexpected keyword argument 'foo'r:   r>   z8load_workbook() got an unexpected keyword argument 'foo'r   rk   rl   )r6   engine_kwargs)
r
   osr   existsr   r   	TypeErrorreescaperW   )r\   r6   r2   r_   msgss        r   test_engine_kwargs"TestExcelWriter.test_engine_kwargsF  s    aa(*:;<NP	
 K 	Z K 	\
 Zy(A(AK  ]]9BIIdl,CDKK$en   EDDs   B
B-c                 \   [        SSS/SSS.// SQ/ SQS	.5      nUR                  US
S9  [        R                  " US
SSS9nUR	                  5       nUR
                  R                  [        5      Ul        UR                  R                  S5      Ul        [        R                  " X45        g )Nrn   ro   r  erL   )r   f)rI   rL   r  )applebananacherry)mixednumericr.   r#  r   r   r  rC  )r
   rW   rX   rY   r   r{  r  r.   r|  r   rZ   r[   r\   r2   r_   readr]   s        r   test_write_lists_dict%TestExcelWriter.test_write_lists_dicte  s    Sz1+=>&4
 	I(3}}Y8AQRS779!--c2#++227;
d-r   c                     [        SS/SS/S.5      nUR                  USS9  [        R                  " USSS	9nUn[        R
                  " X45        g )
NrI   rL   rD   rC   )renderr  r#  r   r   r   rV   r}  s        r   test_render_as_column_name*TestExcelWriter.test_render_as_column_namew  sN    1a&1a&9:
I(3}}YA>
d-r   c                     [        SS//SS/[        S9nUR                  SSS.5      R                  S	5      nUR	                  U5        [
        R                  " US/S/S
S9n[        R                  " XC5        g )Nrk   rl   col1col2r  TF)rk   rl   r   r   )true_valuesfalse_valuesrw   )	r
   r  replacer   rW   rX   rY   rZ   r[   )r\   r2   r_   r]   r(  s        r   !test_true_and_false_value_options1TestExcelWriter.test_true_and_false_value_options  sq    '&&1AP::d59:AA&I
I]]E7%A

 	j3r   c                     [        SS/SS//SS/S9nUR                  USS	S
9  [        R                  " USS9n[        R
                  " X25        g )NrI   rL   rD   rC   r  r  rp   r#  r;  )rQ   freeze_panesr   r   rV   )r\   r2   r]   r`   s       r   test_freeze_panes!TestExcelWriter.test_freeze_panes  sS    q!fq!f-7GH)vNyA6
f/r   c                    [        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[        UR                  US9n[        [        R                  S	S
9n[        R                  " XV[        R                  " U5      5      n[        R                  " Xt5        g s  snf )Nr   x   )r  rC   r/  r  r  r   re  r   r   )r
   re   r  r  r   r   r   r   rW   rX   rY   rZ   round_trip_pathlibpathlibPathr[   )r\   r6   r2   r   r_   ry   rz   r`   s           r   test_path_path_lib"TestExcelWriter.test_path_path_lib  s    "))C.((11$v,'5959a2aS956

 V4!4&&vw||I7NO
f) 6s   Cc           	         [         R                  " [        R                  " S5      [        R                  " S5      4[        R                  " S5      [        R                  " S5      4/5      n[	        [
        R                  " SSS9US9nUR                  U5        [        R                  " USS	/SS
9nUR                  R                  UR                  S    Vs/ s H  n[        U5      PM     snUR                  S	    Vs/ s H  n[        U5      PM     sn/SS	/S9Ul	        [        R                  " XC5        g s  snf s  snf )N20182018Q12018Q2)rL   rL   rC  r  rp   r   rI   r   r   )r   r  rX   Periodr
   re   r   rW   rY   r#   r   r   r.   rZ   r[   )r\   r2   mir]   r`   r   s         r   test_merged_cell_custom_objects/TestExcelWriter.test_merged_cell_custom_objects  s   ##6"BIIh$786"BIIh$78
 RWWV7;RH)$y!Q1E#++66 iil+lc!fl+biil-Klc!fl-KLa& 7 
 	f/ ,-Ks   D;E 
rA  Nc                    Un[         R                  " SUS9n[        U/US9n[        R                  " [
        SS9   UR                  U5        S S S 5        UR                  5       n[        U/US9n[        R                  " [
        SS9   UR                  U5        S S S 5        g ! , (       d  f       N]= f! , (       d  f       g = f)N2019)tzr  zExcel does not supportr   )rX   r   r
   r   r   r   rW   to_pydatetime)r\   rA  tz_aware_fixturer2   r  r  r_   s          r    test_raise_when_saving_timezones0TestExcelWriter.test_raise_when_saving_timezones  s     ||Fr*vU+]]:-EFKK	" G !!#vU+]]:-EFKK	" GF GF
 GFs   B%
B6%
B36
Cc                     [        SS/SS/S.5      nUR                  U/ SQSS9  [        R                  " U5      n[        / S	Q/ S
Q// SQS9n[        R
                  " X45        g )Nr   rI   r   r   r  )rt   ru   rt   Fr   )r   r   r   )rI   r   rI   )rt   ru   r  rp   rV   )r\   r2   r_   r`   r]   s        r   'test_excel_duplicate_columns_with_names7TestExcelWriter.test_excel_duplicate_columns_with_names  sY    aV2r(34
IeDy)j*5?PQ
f/r   c                     Sn[         R                  " [        [        R                  " U5      S9   [        USS9  S S S 5        g ! , (       d  f       g = f)Nz7if_sheet_exists is only valid in append mode (mode='a')r   r  )if_sheet_exists)r   r   r   rp  rq  r   )r\   r2   r  s      r   test_if_sheet_exists_raises+TestExcelWriter.test_if_sheet_exists_raises  s3    G]]:RYYs^<	9= =<<s   A
Ac                     [        X!S9 n[        5       R                  U5        S S S 5        [        R                  " U5      n[        5       n[
        R                  " XE5        g ! , (       d  f       NE= fNre  )r   r
   rW   rX   rY   rZ   r[   )r\   r6   r2   ry   r`   r]   s         r   test_excel_writer_empty_frame-TestExcelWriter.test_excel_writer_empty_frame  sM    2fK  ( 3y);
f/	 32s   A##
A1c                     [        5       R                  X!S9  [        R                  " U5      n[        5       n[        R
                  " X45        g r  rV   )r\   r6   r2   r`   r]   s        r   test_to_excel_empty_frame)TestExcelWriter.test_to_excel_empty_frame  s8    Y6y);
f/r   c                     [        SSS-  /05      nSn[        R                  " [        USS9   [	        5       nUR                  U5        S S S 5        g ! , (       d  f       g = f)Nrt   rn   i   z?Cell contents too long \(32768\), truncated to 32767 charactersF)r   raise_on_extra_warnings)r
   rZ   assert_produces_warningUserWarningr   rW   )r\   r_   r  bufs       r   >test_to_excel_raising_warning_when_cell_character_exceed_limitNTestExcelWriter.test_to_excel_raising_warning_when_cell_character_exceed_limit  sV    cEk]+,P''sE
 )CKK	
 
 
s   A
A!
with_indexc                 8   [         R                  " SSSS.SSSS./5      nUS;   a4  [        R                  " [        S	S
9   UR                  X1SSS9  S S S 5        g UR                  X1SUS9  [        R                  " S5      n[        R                  " UR                  U5      5       nUR                  nUR                  R                  c   eU(       a  UR                  R                  S:X  d   e S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)NrI   rL   rD   r  rC   r   r  r?   %Autofilter is not supported with odf!r   TFr6   
autofilterrR   r:   zA1:D3r
   	from_dictr   r   r   rW   importorskip
contextlibclosingload_workbookactiveauto_filterref)r\   r6   r  r2   r_   r:   wbwss           r   test_autofilterTestExcelWriter.test_autofilter  s       ":!!RS<T!UVW"I IUS 
 KK	TKT**H ##H$:$:9$EF"YY~~))5558Br~~))W4OO	 GF  GFs    C:'A
D:
D
Dc                 ,   [         R                  " SSSS.SSSS./5      nUS;   a4  [        R                  " [        S	S
9   UR                  X!SSS9  S S S 5        g UR                  X!SSSS9  [        R                  " S5      n[        R                  " UR                  U5      5       nUR                  nUR                  R                  c   eUR                  R                  S:X  d   e S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f)NrI   rL   rD   r  rC   r   r  r  r  r   TFr  r   )r6   r  startrowstartcolr:   zK11:N13r  )r\   r6   r2   r_   r:   r  r  s          r   &test_autofilter_with_startrow_startcol6TestExcelWriter.test_autofilter_with_startrow_startcol  s     ":!!RS<T!UVW"I IUS 
 KKTBQS   **H ##H$:$:9$EF"YY~~))555~~))Y666	 GF  GFs    C4(AD4
D
Dr)   c           	         [        SSSS.5      nUR                  SS/5      nUS;   a6  [        R                  " [        SS	9   UR                  UUS
SUS9  S S S 5        g U(       a6  [        R                  " [        SS	9   UR                  UUS
S
US9  S S S 5        g UR                  UUS
S
US9  [        R                  " S5      n[        R                  " UR                  U5      5       nUR                  nUR                  R                  c   eUR                  R                  S:X  d   e S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f)N)horser  dogr  )blackwhitegreyr  )BlackyWendyRufusCatchy)animalcolor of furrm  r  r  r  r  r   TFr6   r  rR   r)   wExcel filters merged cells by showing only the first row. 'autofilter' and 'merge_cells' cannot be used simultaneously.r:   zA1:C5)r
   ri  r   r   r   rW   r  r  r  r  r  r  r  )	r\   r6   r2   r)   r_   mi_dfr:   r  r  s	            r   %test_autofilter_with_multiindex_index5TestExcelWriter.test_autofilter_with_multiindex_index  sr    : C>
 h78W"I !# +    P
 !# +    NN'   **H ##H$:$:9$EF"YY~~))555~~))W444	 GFK  2 GFs%   D6?E*AE6
E
E
E&c           	         [        SS/SS/// SQ/ SQ/S9n[        / SQ/ S	Q/US
9nUS;   a6  [        R                  " [        SS9   UR                  UUSSUS9  S S S 5        g U(       a6  [        R                  " [        SS9   UR                  UUSSUS9  S S S 5        g UR                  UUSSUS9  [        R                  " S5      n[        R                  " UR                  U5      5       nUR                  nUR                  R                  c   eUR                  R                  S:X  d   e S S S 5        g ! , (       d  f       g = f! , (       d  f       g = f! , (       d  f       g = f)Nr   ywt)r   r   rI   )r   rI   r   )r   codesr   r  rp   r  r  r   TFr  r  r:   zA2:D5)r   r
   r   r   r   rW   r  r  r  r  r  r  r  )	r\   r6   r2   r)   r#   r_   r:   r  r  s	            r   'test_autofilter_with_multiindex_columns7TestExcelWriter.test_autofilter_with_multiindex_columnsN  sz    #Jc
+i(
 	9-w?W"I !# +    P
 !# +    KK'   **H ##H$:$:9$EF"YY~~))555~~))W444	 GFK  2 GFs%   D:E.AE:
E
E
E*r   )Nr   r   r   r   r  r  r  r'  r+  r6  r9  r   r   r   re   int8int16int32rC  rF  float16float32float64rI  rN  rR  rY  ra  rj  ro  rt  r  filterwarningsr  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r!  r)  r-  r3  rB  rE  rH  rN  rb  ri  rs  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   r   r   w  s   .'"# 534j30(C [[Y"((BHHbhh(OP2 Q2& [[YRZZ(LM* N* 
**"0H&$A*F
*0200d [[A00&0&0*5)'"*0X5..*
	*0$0<
*0( [[]T5M:[[_i8[[_i8E8 9 9 ;E8N0:B
T [[-	
44&0*00
0?01>.$.	40
*0$ [[WtVn5# 6#0>00 [[\D%=9P :P*70 [[]T5M:65 ;65p [[]T5M:35 ;35r   r   c                       \ rS rSr\R
                  R                  S\R                  " \S\	R                  " S5      S9\R                  " \S\	R                  " S5      S9/5      S 5       rS rS	 rS
rg)TestExcelWriterEngineTestsi  z	klass,extr9   r>   r<   r:   c                     [        U5       nUS:X  a0  [        [        SSS95      (       a  [        U[        5      (       d   eO[        XA5      (       d   eS S S 5        g ! , (       d  f       g = f)Nr9   r>   ignore)errors)r   r   r	   
isinstancer   )r\   klassr/   r2   ry   s        r   test_ExcelWriter_dispatch4TestExcelWriterEngineTests.test_ExcelWriter_dispatch  s]     #vg~$*<I# # "&+6666!&0000 $##s   A	A
A,c                     [         R                  " [        SS9   [        S5        S S S 5        g ! , (       d  f       g = f)Nz	No enginer   nothing)r   r   r   r   r\   s    r    test_ExcelWriter_dispatch_raises;TestExcelWriterEngineTests.test_ExcelWriter_dispatch_raises  s$    ]]:[9	" :99s   /
=c           
          " S S[         5      n[        U5        [        SS5         US-  nUR                  5         [        U5       n[	        XB5      (       d   e S S S 5        [        S/[        S/SS	9[        S
/SS	9S9nUR                  U5        UR                  5         S S S 5        US-  nUR                  5         WR                  USS9  UR                  5         g ! , (       d  f       N= f! , (       d  f       NU= f)Nc                   Z    \ rS rSrSrSrSrSrSrS r	S r
S r\S 5       r\S	 5       rS
rg)CTestExcelWriterEngineTests.test_register_writer.<locals>.DummyClassi  F)xlsxxlsrf  c                     g r&   r   r  s    r   bookHTestExcelWriterEngineTests.test_register_writer.<locals>.DummyClass.book  s    r   c                 $    S[        U 5      l        g NT)typecalled_saver  s    r   _saveITestExcelWriterEngineTests.test_register_writer.<locals>.DummyClass._save  s    )-T
&r   c                 $    S[        U 5      l        g r
  )r  called_write_cells)r\   argskwargss      r   _write_cellsPTestExcelWriterEngineTests.test_register_writer.<locals>.DummyClass._write_cells  s    04T
-r   c                 $    S[        U 5      l        g r
  )r  called_sheetsr  s    r   r   JTestExcelWriterEngineTests.test_register_writer.<locals>.DummyClass.sheets  s    +/T
(r   c                     U R                   (       d   eU R                  (       d   eU R                  (       a   eSU l         SU l        g )NF)r  r  r  )clss    r   assert_called_and_reset[TestExcelWriterEngineTests.test_register_writer.<locals>.DummyClass.assert_called_and_reset  s;    &----,,,,"').&r   r   N)r   r   r   r   r  r  r  _supported_extensions_enginer  r  r  propertyr   classmethodr  r   r   r   r   
DummyClassr    sT    K!&!M$3!G.5 0 0 / /r   r   zio.excel.xlsx.writerrf  zsomething.xlsxrn   ro   rk   )rm  r  rl   r   zsomething2.xlsxre  )	r   r   r   r-   r  r
   r   rW   r  )r\   r0   r   filepathry   r_   	filepath2s          r   test_register_writer/TestExcelWriterEngineTests.test_register_writer  s    	/ 	/8 	
#2G<"22HNNX&&!&5555 'se%0SE.B
 KK!..0 = 00	
Ig.**, '& =<s$   !C2C!AC2!
C/	+C22
D r   N)r   r   r   r   r   r   r   r'   r   td
skip_if_nor   r  r  r#  r   r   r   r   r  r    sg    [[LLgR]]<5PQLL'z9RS	
11#/-r   r  c                        \ rS rSrS rS rSrg)
TestFSPathi  c                    US-  nUR                  5         [        SSS/05      nUR                  U5        [        U5       n[        R
                  " U5      nS S S 5        W[        U5      :X  d   eg ! , (       d  f       N = f)Nfoo.xlsxrt   rI   rL   )r-   r
   rW   r   rm  fspathr.   )r\   r0   r   r_   r  r`   s         r   test_excelfile_fspath TestFSPath.test_excelfile_fspath  sh    *$

aV}%
Dt_YYr]F T""" _s   A22
B c                     US-  nUR                  5         [        U5       n[        R                  " U5      [	        U5      :X  d   e S S S 5        g ! , (       d  f       g = f)Nr*  )r-   r   rm  r+  r.   )r\   r0   r   ry   s       r   test_excelwriter_fspath"TestFSPath.test_excelwriter_fspath  sF    *$

&99V$D	111 s   &A
Ar   N)r   r   r   r   r,  r/  r   r   r   r   r(  r(    s    #2r   r(  r  c                    [        [        5       Vs1 s H  oR                  S5      (       a  M  UiM     nn[        U 5       Vs1 s H  oR                  S5      (       a  M  UiM     nnUR                  U5      (       a   eg s  snf s  snf )Nr   )dirr   
startswithsymmetric_difference)r  rm  
attrs_baseattrs_klasss       r   test_subclass_attrr7    sl     $'{#3P#34??3;O$#3JP$'JKJDooc6J4JKK..{;;;;; QKs   BBB!B)<r  r   r   r   decimalr   	functoolsr   ior   rm  r  rp  r+   numpyre   r   pandas.compat._optionalr	   pandas.util._test_decoratorsutil_test_decoratorsr%  pandasrX   r
   r   r   r   r   r   pandas._testing_testingrZ   pandas.io.excelr   r   r   r   r   pandas.io.excel._utilr   r.   r   fixturer!   r)   r2   r8   r   r   r'   r&  rA   usefixturesr   r  r(  valuesr7  r   r   r   <module>rH     s    
    	  	    > ) )     +s s    /0 1     	WR]]:%>f@U$VWWR]]:%>f@U$VWBMM,7v9NO	
 	V2==#78
U0 U0
U0p ==,bmmF.CD	

 	==,bmmF.CD	

 	==.f0EF	

 	UF"--*>?!* &u5 u5 '+,u5p'E- E-P vz2 2  2" (//"34< 5<r   