File size: 966 Bytes
3079197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# -*- 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])