def count_records(filename, outfile=sys.stdout): from xlrd.biffh import biff_count_records bk = Book() bk.biff2_8_load(filename=filename, logfile=outfile, ) biff_count_records(bk.mem, bk.base, bk.stream_len, outfile)
def open_workbook_2007_xml( zf, component_names, logfile=sys.stdout, verbosity=0, use_mmap=0, formatting_info=0, on_demand=0, ragged_rows=0, ): ensure_elementtree_imported(verbosity, logfile) bk = Book() bk.logfile = logfile bk.verbosity = verbosity bk.formatting_info = formatting_info if formatting_info: raise NotImplementedError("formatting_info=True not yet implemented") bk.use_mmap = False #### Not supported initially bk.on_demand = on_demand if on_demand: if verbosity: print("WARNING *** on_demand=True not yet implemented; falling back to False", file=bk.logfile) bk.on_demand = False bk.ragged_rows = ragged_rows x12book = X12Book(bk, logfile, verbosity) zflo = zf.open('xl/_rels/workbook.xml.rels') x12book.process_rels(zflo) del zflo zflo = zf.open('xl/workbook.xml') x12book.process_stream(zflo, 'Workbook') del zflo props_name = 'docProps/core.xml' if props_name in component_names: zflo = zf.open(props_name) x12book.process_coreprops(zflo) x12sty = X12Styles(bk, logfile, verbosity) if 'xl/styles.xml' in component_names: zflo = zf.open('xl/styles.xml') x12sty.process_stream(zflo, 'styles') del zflo else: # seen in MS sample file MergedCells.xlsx pass sst_fname = 'xl/sharedStrings.xml' x12sst = X12SST(bk, logfile, verbosity) if sst_fname in component_names: zflo = zf.open(sst_fname) x12sst.process_stream(zflo, 'SST') del zflo for sheetx in range(bk.nsheets): fname = x12book.sheet_targets[sheetx] zflo = zf.open(fname) sheet = bk._sheet_list[sheetx] x12sheet = X12Sheet(sheet, logfile, verbosity) heading = "Sheet %r (sheetx=%d) from %r" % (sheet.name, sheetx, fname) x12sheet.process_stream(zflo, heading) del zflo comments_fname = 'xl/comments%d.xml' % (sheetx + 1) if comments_fname in component_names: comments_stream = zf.open(comments_fname) x12sheet.process_comments_stream(comments_stream) del comments_stream sheet.tidy_dimensions() return bk
def dump(filename, outfile=sys.stdout, unnumbered=False): from xlrd.biffh import biff_dump bk = Book() bk.biff2_8_load(filename=filename, logfile=outfile, ) biff_dump(bk.mem, bk.base, bk.stream_len, 0, outfile, unnumbered)
def __init__(self): self.SPLITCHAR = "|" self.bookIns = Book()