#! /usr/bin/env python # Read and print an excel .xls spreadsheet. # Thanks to http://scienceoss.com/read-excel-files-from-python/ import sys, xlrd def print_sheet(sheetname, sh) : print "===== sheet", sheetname, ": rows", sh.nrows, "cols", sh.ncols # set a maximum on any one column. # Ideally this would be smarter, # and would let one long row expand if the rest were shorter. maxlen = 80 / sh.ncols # Get max len for each col maxstr = [1] * sh.ncols for rownum in range(sh.nrows) : for colnum in range(sh.ncols) : slen = len(str(sh.cell(rownum, colnum).value)) if slen > maxlen : slen = maxlen if slen > maxstr[colnum] : maxstr[colnum] = slen fmt = "" for colnum in range(sh.ncols) : fmt += "%%-%ds" % (maxstr[colnum] + 1) for rownum in range(sh.nrows) : print fmt % tuple(map(str, sh.row_values(rownum))) for filename in sys.argv[1:] : wb = xlrd.open_workbook(filename) #sh = wb.sheet_by_index(0) for sheetname in wb.sheet_names() : print_sheet(sheetname, wb.sheet_by_name(sheetname))