# -*- coding: utf-8 -*- from openpyxl import load_workbook import sys from io import BytesIO class HuExcelParser: def __call__(self, fnm): if isinstance(fnm, str): wb = load_workbook(fnm) else: wb = load_workbook(BytesIO(fnm)) res = [] for sheetname in wb.sheetnames: ws = wb[sheetname] rows = list(ws.rows) ti = list(rows[0]) for r in list(rows[1:]): l = [] for i,c in enumerate(r): if not c.value:continue t = str(ti[i].value) if i < len(ti) else "" t += (":" if t else "") + str(c.value) l.append(t) l = "; ".join(l) if sheetname.lower().find("sheet") <0: l += " ——"+sheetname res.append(l) return res if __name__ == "__main__": psr = HuExcelParser() psr(sys.argv[1])