Ȯ$i>XddlmZdZdaedk(rddlZddlZddlZddlZddl Z ddl Z ddl m Z m Z GddeZej ZdZd Zd Zd Zdd Zd ZdZddZdZdZej8ddZeseeedj=Zedk(rddl Z ddl!Z eddZdZ"e jFe"Z$e$jJegefZ&e'de(e&e$jSe jTjWe"Z*e*jYe*j[dde*j]dyedk(raddl/Z/eddZe/j`ddddl1Z1e1jddZ3e3jYj[dj]dyeeyy) )print_functionaj Commands: 2rows Print the contents of first and last row in each sheet 3rows Print the contents of first, second and last row in each sheet bench Same as "show", but doesn't print -- for profiling biff_count[1] Print a count of each type of BIFF record in the file biff_dump[1] Print a dump (char and hex) of the BIFF records in the file fonts hdr + print a dump of all font objects hdr Mini-overview of file (no per-sheet information) hotshot Do a hotshot profile run e.g. ... -f1 hotshot bench bigfile*.xls labels Dump of sheet.col_label_ranges and ...row... for each sheet name_dump Dump of each object in book.name_obj_list names Print brief information for each NAME record ov Overview of file profile Like "hotshot", but uses cProfile show Print the contents of all rows in each sheet version[0] Print versions of xlrd and Python and exit xfc Print "XF counts" and cell-type counts -- see code for details [0] means no file arg [1] means only one file arg i.e. no glob.glob pattern N__main__)xrangeREPRceZdZdZdZdZy) LogHandlerc.||_d|_d|_yNr) logfileobj fileheadingshown)selfr s Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/../../../bin/runxlrd.py__init__zLogHandler.__init__.s(DO#D DJc ||_d|_yr )r r )rr s rsetfileheadingzLogHandler.setfileheading3s*D DJrc|jr8|js,|jj|jd|_|jj|y)N)r r r write)rtexts rrzLogHandler.write7sB %%d&6&67 OO ! !$ 'rN)__name__ __module__ __qualname__rrrrrrr,s    (rrc |jrt|j|}|sy|r t|jrEt ||||D]3\}}}}|s tdt j||dz|||fz5yt ||||D]2\}}}} |s tdt j||dz||fz4y)Nz%cell %s%d: type=%d, data: %r, xfx: %srzcell %s%d: type=%d, data: %r) ragged_rowsrangerow_lenprintformatting_info get_row_dataxlrdcolname) bkshrowxcolrangeprintitcolxtyvalcxfx_unuseds rshow_rowr/?s >>RZZ-.H EG  '3BD('K G#b#tA<<-tAvr3EFG G +7r2tX*N b&b#w8DLL)datemode row_types row_valuesr!str cell_xf_indexr# XL_CELL_DATExldate_as_tuple XLDateErrortyper XL_CELL_ERRORerror_text_from_codegetappend)r%r&r'r(resultdmodectyscvalsr*ctycvalr-showvales rr"r"Ns ||D! d# 6Dt*C;D!!2++D$78d'''-"224?G***3377>[^b>bc MM4gt4 5# 6$ ''-)-a)9)91=G,,C-s>C''D.:*D))D.cttdtj|jd|jtd|j d|j d|jtd|jztd|jztd|j|j|jfztd |jz|jrJtd t|jt|j t|j"fzt$j&s$td |j(|j*fzty) NzBIFF version: z ; datemode: z codepage: z (encoding: z); countries: zLast saved by: %rzNumber of data sheets: %dz+Use mmap: %d; Formatting: %d; On demand: %dzRagged rows: %dzFORMATs: %d, FONTs: %d, XFs: %dz8Load time: %.2f seconds (stage 1) %.2f seconds (stage 2))r r#biff_text_from_num biff_versionr3codepageencoding countries user_namensheetsuse_mmapr! on_demandrlen format_list font_listxf_listoptionssuppress_timingload_time_stage_1load_time_stage_2)r%s r bk_headerrZgs  &&r7F G {{BKK7 8 !BLL01 )BJJ67 ;{{B.. => ? "..01   3r~~&BLL(93rzz?KL M&& L'')=)=>? @ rctdtt|jD]'}|j|}|j d|zd)y)NzFonts:z== Index %d ==)headerindent)r rrRrTdump)r%xfonts r show_fontsrbzsI hBLL)* =A<<?D II-1!I < =rc t||jdkr tdy|j}tdt |z|D]x}|r/|j t jd|jz4td|j|j|j|j|jfzzy)N2z(Names not extracted in this BIFF versionzName list: %d entriesz" === Dump of name_obj_list[%d] ===)r]z*[%d] Name:%r macro:%r scope:%d result:%r ) rZrJr name_obj_listrRr_sysstdout name_indexnamemacroscoper@)r%r_nlistnobjs r show_namesrns" ??R  < =    %E 23 YD #**@4??RTF 4::tzz4;;WXY  Yrc T|sy|D]\}}}}t|dtj||dtj|dz |dz dt||D]H}t||D]7}tdtj||d|j ||9Jy)Nz label range r2rz contains:z : )r r#cellnamer cell_value) r&labstitlerlorhiclochirxcxs r print_labelsr{sF"& Y Cc3 $--S14==QA3NP QS#& Y c*YB$--B*?rSUAVWXY Y Yrcd}t|jD]}|j|}|j}|j}|s|rY|s t |d}t d||j|j|jfzt||dt||d|js|j|y)Nrr+sheet %d: name = %r; nrows = %d; ncols = %dColRow) rrOsheet_by_indexcol_label_rangesrow_label_rangesrZr rinrowsncolsr{rQ unload_sheet)r%hdrshxr&clabsrlabss r show_labelsrs$ 2C""3'B''E''EbMCC"''288RXX678R.R.||R__S1 2rrc t| tjr ttj}|g}nt|j}|D]i}|j|}|j |j"} } t| } t%|| } t d|t'|j(|j |j"fz| ri| rgt+| D]Y} |j-| }|s|j/| |dz |j1| |dz |j3| |dz [t+| dz D]2} |s| dzdk(r| dkDrt d| dz fzt5||| | |4| r| rt5||| dz | |t |j6sY|j9|ly#t$r-|jtjj}YwxYw)Nz+sheet %d: name = %s; nrows = %d; ncols = %dri'z done %d rows)rZr#sheetrc_statsitemssortedr rVonesheetint ValueError sheet_by_namenumberrrOrrrminrrirrr4r5cellr/rQr)r%nshowr)rclistkvrshxranger&rrr(anshowr'ncs rshowrs"    @'**+uHRZZ(H 2C""3'B88RXX5EU|H&F ?d277mRXXrxx89 :"5M,DD)B T*2a40 d+BqD1bd+ , vax( :4%<1#4.DF945Rx9 :%Rq(G< G||R__S1- 2  @&&w'7'78?? @sG2G65G6cVt|t|jD]}|j|}|j}t d||j |j|jfzgd}t|D]Y}t|j|D]:}|j||}|dk\sJ|j||}||xxdz cc<<[t d|jt d|t |js|j|y)Nr})rrrrrrrrrzXF statsz type stats)rZrrOrrr rirrrr7 cell_type_xf_index_statsrQr) r%rr&r type_statsr'r*xfxrDs r count_xfsrs" $ 2C""3'BHHE ?bggrxx23 4/Ju  )"2::d#34)D**46C!8O8,,tT2CsOq(O ) ) *b00 1 , + G||R__S1! 2rc  ddl}dtz}|j|}|jdddd|jdd d dd |jd dd dd |jdddd|jddd dd |jddd dd |jdddd|jddddd !|jd"d#ddd$!|jd%d&ddd'!|jd(d)ddd*!|j |\a}t |d+k(r|dd,vrn+t |d-kr|jd.t |z|d}ttd/d0}|d1k(r=tj|d+t j2tjd|d3k(r-tj|d+tjd|d4k(rNtd5|d6tj td7tj"tjdt j$r$t't)t j$d8}ntj*}t j,}tj.} |d9vr|} n|dk7rtd:|zt j0|d;vz} t j2} | rt3j4|d+dD]} t7j6| D]g} td<| z|tj*k7r|j9d=| z| d+k(r#t3j:}|r td>|d? t=j<}tj>| t j@|| t jB| t jDt jF@}t=j<}t jHstdA||z fzt=j<}|dFk(r tYn|dGk(r t[dn|dHk(r t[n|dIk(r t[d-n|dJk(r t[dKn|dLk(rt[dMn|dNk(rtYt]|ni|dOk(r t_nX|dPk(rt_d+QnE|dRk(r tan4|dSk(r tcn#tdT|ztjd+~| d+k(r%t3j:}|rtdU| dV|d?t jHrBt=j<}tdW||z fzjy#tjJ$r/}tdBtM|jNdC|Yd}~d}~wtP$rHtdDtSjTtj*Etjd+YtV$rS}tdBtM|jNdC|tSjTtj*EYd}~Ud}~wwxYw)XNrz/ %prog [options] command [input-file-patterns] z-lz --logfilenamer1zcontains error messages)defaulthelpz-vz --verbosityrz-level of information and diagnostics provided)r;rrz-mz--mmapz41: use mmap; 0: don't use mmap; -1: accept heuristicz-ez --encodingzencoding overridez-fz --formattingz10 (default): no fmt info 1: fmt info (all cells) z-gz--gczQ0: auto gc enabled; 1: auto gc disabled, manual collect after each file; 2: no gcz-sz --onesheetz-restrict output to this sheet (name or index)z-uz --unnumbered store_truez)omit line numbers or offsets in biff_dump)actionrrz-dz --on-demandz,load sheets on demand instead of all at oncez-tz--suppress-timingz*don't print timings (diffs are less messy)z-rz --ragged-rowsz$open_workbook(..., ragged_rows=True)r)versionz"Expected at least 2 args, found %d __VERSION__zunknown; before 0.5 biff_dump) unnumbered biff_countrzxlrd: z, from zPython:w)rrz9Unexpected value (%r) for mmap option -- assuming default)xfcz === File: %s ===z === File: %s === zGC before open:zunreachable objects) verbositylogfilerPencoding_overrider!rQrzOpen took %.2f secondsz*** Open failed: rpz*** KeyboardInterrupt ***)filerovr2rows3rowsbench)r)fontsnames name_dump)r_labelsrz*** Unknown command <%s>z GC post cmd:z->z command took %.2f seconds )2optparsecmd_doc OptionParser add_option parse_argsrVrRerrorgetattrr#r_rrfexit count_recordsr __file__r logfilenameropenrgmmapUSE_MMAP formattinggcdisableglobrcollecttime open_workbookrrLrQrrW XLRDErrorr;rKeyboardInterrupt traceback print_exc BaseExceptionrZrrbrnrr)cmd_argsrusageoparserargscmd xlrd_versionrmmap_optmmap_argfmt_optgc_modepatternfname n_unreachablet0r%t1rGs rmainrsCgM''. /*  ,  -@  B  (G  I  ,$  &  .-   &d  f  ,@  B  .<  >  -?  A  %=  ?  /7  9 **84  t9>d1g6  Y] MM>TJ K1gt]4IJ +  IId1g'*<*< = HHQK ,    tAw ' HHQK )  t}}E F )S[[ ) HHQK    g&9&93!?@GjjG<<== v H ^ MPXX Y$$y(89**  JJLABxD FG7+C F*U23cjj(**+AE+IJa<$&JJLM$/@UVB++")"3"3W!)*1*:*:(/")"3"3$+$7$7BB"226"R%ABYY[%<bMD[QKF]HG^QKG^QKG^Q'G^bMrNG^rNK'r*H_OE\bM4s:;HHQKa<$&JJLM$neT=J_`..B9RUHDEGC FD FL_~~tAw7G7GKL( 56''SZZ8HHQK$tAw7G7GKL''SZZ8s-9BVY1$WAY1Y1AY,,Y1hotshotz XXXX.profr@rcallsprofilezmain(av)z YYYY.prof cumulative)r)ir)4 __future__rrrVrr#rfrrrrxlrd.timemachinerrobjectr empty_cell null_cellr/r"rZrbrnr{rrrrargvavlowerfirstargr hotshot.stats prof_log_nameProfileprofruncallr@r reprclosestatsload strip_dirs sort_stats print_statscProfilerunpstatsStatsprrrr s & 0  z -(V("I b2&= YY2"'2R2(Xt !"B  R!u{{}H9 V# w}-d,bV, hV %  ""=1  ) " Y  V Z- FLL % !!,/;;B? Rs r