diff --git a/main.py b/main.py index 7883b898e6d49a0643a96d66b3774599f7edfe07..2d94b10e982edda50bab3f215bedcd1bbee272db 100755 --- a/main.py +++ b/main.py @@ -14,7 +14,7 @@ if os.name == 'nt': from uniqer import * from utils import * import material -import csv_preprocess +import csv_preprocess, xlsx_conv import numpy as np from io import StringIO @@ -36,8 +36,7 @@ def _main(): junk_material_words = ['(厚)', '(宽)', '(å•ä»¶é‡ï¼‰'] junk_part_words = [] - with open(fname, mode='r') as fd: - fcontent = fd.read() + fcontent = xlsx_conv.read_as_csv(fname) fcontent = csv_preprocess.clean_csv(fcontent) fcontent = csv_preprocess.clean_csv_2(fcontent) diff --git a/summerize-part-list/beta2alpha.py b/summerize-part-list/beta2alpha.py index 93f00132d456da29d8e5594cc1b1d6b6f0e5c047..e7270ee90fbfa4d3e3fa13d67b2dc718e912ecf9 100644 --- a/summerize-part-list/beta2alpha.py +++ b/summerize-part-list/beta2alpha.py @@ -31,8 +31,7 @@ def execute_program_alpha(mypath, parent_arg1): print('EXEC =======================>', args) ret = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - for line in ret.stdout: - print(line) + print(ret.stdout) if ret.returncode != 0: raise RuntimeError('SubProcess returned in status ' + str(ret.returncode)) print('EXEC SUBPROC EXITED =======================>') diff --git a/summerize-part-list/xlsx_conv.py b/summerize-part-list/xlsx_conv.py deleted file mode 100644 index 3afc2f83df1ad5310f3bfa14fbdd19f3e45e5de4..0000000000000000000000000000000000000000 --- a/summerize-part-list/xlsx_conv.py +++ /dev/null @@ -1,13 +0,0 @@ -import xlrd -import csv -import config - -def xlsx2csv(xlsxPath, sheetIndex, outputFd): - wb = xlrd.open_workbook(xlsxPath) - sh = wb.sheet_by_index(sheetIndex) - wr = csv.writer(outputFd, quoting=csv.QUOTE_NONNUMERIC) - - for rownum in range(sh.nrows): - wr.writerow(sh.row_values(rownum)) - - diff --git a/utils.py b/utils.py index 7248425a1b8260fbc29d6b8e986368ee19ed4ec2..e9a9ffc8f58fa098f895efafaca51d668bb48997 100644 --- a/utils.py +++ b/utils.py @@ -55,3 +55,4 @@ def try_copy(file_path, out_dir, dst = None): shutil.copy(file_path, os.path.join(out_dir, name)) + diff --git a/xlsx_conv.py b/xlsx_conv.py new file mode 100644 index 0000000000000000000000000000000000000000..3f9b4b509f3292ff8c77b71ad35d465125c410ef --- /dev/null +++ b/xlsx_conv.py @@ -0,0 +1,22 @@ +import xlrd +import csv, io + +def xlsx2csv(xlsxPath, sheetIndex, outputFd): + wb = xlrd.open_workbook(xlsxPath) + sh = wb.sheet_by_index(sheetIndex) + wr = csv.writer(outputFd, quoting=csv.QUOTE_NONNUMERIC) + + for rownum in range(sh.nrows): + wr.writerow(sh.row_values(rownum)) + +def read_as_csv(fname): + is_xlsx = lambda fname: fname.endswith('.xlsm') or fname.endswith('.xlsx') or fname.endswith('.xls') or fname.endswith('.XLSM') or fname.endswith('.XLSX') or fname.endswith('.XLS') + # read xlsx or csv + if is_xlsx(fname): + buf = io.StringIO() + xlsx2csv(fname, 0, buf) + return buf.getvalue() + else: + with open(fname, mode='r') as fd: + return fd.read() +