
    	h                     @    S SK Jr  S SKrS SKrS SKJr  SS jrSS jrg)    )
accumulateN)prodc              #     #    SSK Jn  U(       a  U R                  R                  S:  a  [	        U R                  U5      nO [        U R                  R                  5      /nU Hp  n/ nU H;  n[        U[        R                  5      (       a  U" U5      nUR                  U5        M=     UnU(       a  S/U R                  R                  -  U-   nUv   Mr     U(       a  U R                  R                  v   S U R                   5       nU R                  R                  S:  a  [	        U R                  5      n[        XR                  SS95       H  u  p[        U5      nU(       a  X-   nUv   M!     g7f)a*  
Convert a Pandas dataframe into something suitable for passing into a worksheet.
If index is True then the index will be included, starting one row below the header.
If header is True then column headers will be included starting one column to the right.
Formatting should be done by client code.
r   )	Timestamp   Nc              3   &   #    U  H  o/v   M	     g 7f)N ).0vs     J/var/www/html/env/lib/python3.13/site-packages/openpyxl/utils/dataframe.py	<genexpr>$dataframe_to_rows.<locals>.<genexpr>%   s     &XXs   F)index)pandasr   columnsnlevelsexpand_indexlistvalues
isinstancenumpy
datetime64appendr   nameszip
itertuples)
dfr   headerr   rowsrownr   expandeddf_indexs
             r   dataframe_to_rowsr$   	   s(     !::!

F3D**+,DCAa!1!122!!A  CfRXX---3I  hhnn&RXX&H	xx!) xU)CD3i.C		 Es   E2E4c              #     #    [        U R                  5      nS/[        US   5      -  n/ nU Hh  nS/[        U5      -  nSn[        [	        XS5      5       H  u  nu  pX:w  d	  U(       d  M  XU'   SnM     UnU(       d  Uv   MW  UR                  U5        Mj     U(       a@  [        R                  " U5      R                  5       R                  5       nU H  nUv   M	     gg7f)zf
Expand axis or column Multiindex
For columns use header = True
For axes use header = False (default)
Nr   FT)
r   r   len	enumerater   r   r   array	transposetolist)r   r   r   previous_valueresultvaluer    prior_changeidxcurrent_index_memberprevious_index_members              r   r   r   1   s      %,,FVc&)n,NFfs5z! BKCPULfBg>C>&#</C#	 Ch  IMM## * V$..0779CI  s   A&C",A6C")TT)F)	itertoolsr   operatorr   openpyxl.compat.productr   r$   r   r	       r   <module>r6      s    !   (%P&r5   