From 13d140e9e928cfa4d751d005c7aaf31609855c67 Mon Sep 17 00:00:00 2001 From: bcomsugi Date: Wed, 8 Nov 2023 17:23:36 +0700 Subject: [PATCH] accomodate empty column in reading excel --- pdfexcel4DNwithxlrd.py | 48 ++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/pdfexcel4DNwithxlrd.py b/pdfexcel4DNwithxlrd.py index 8cb35a3..13c66af 100644 --- a/pdfexcel4DNwithxlrd.py +++ b/pdfexcel4DNwithxlrd.py @@ -158,10 +158,28 @@ def read_DN_excel(filename): for colidx, col in enumerate(x): ### change the empty cell into None if col == "": data[idx][colidx]=None - - # for idx, x in enumerate(data): - # print(idx, x) - + coly=0 + xylist=[] + for idx, x in enumerate(data): + print(idx, x) + xylist=[] + if len(x)>5 and (idx % 2)==1 : + print(idx,x) + for idy, y in enumerate(x): + if y == None: + coly=idy + else: + xylist.append(y) + if len(xylist)==5: + data[idx]=xylist + elif coly !=0: + for idy, y in enumerate(x): + if idy!=coly: + xylist.append(y) + data[idx]=xylist + coly=0 + print(idx, data[idx]) + print(f'len data={len(data)}') @@ -189,11 +207,11 @@ def read_DN_excel(filename): dt.append(uom) dt[2]=int(dt[2].split(".")[0]) templist=dt - # print(templist) + print(templist) - # for idx, x in enumerate(newdata): - # print(idx, x) - # print(f'len newdata={len(newdata)}') + for idx, x in enumerate(newdata): + print(idx, x) + print(f'len newdata={len(newdata)}') df=pd.DataFrame(newdata, columns=['Item No', 'Description', 'Quantity', 'No.SO/Ext.Doc.No.', 'LPN No.', 'UOM', 'Ext.Doc.No.'])#, columns=data[0]+"UOM") @@ -204,15 +222,16 @@ def read_DN_excel(filename): # print(df) # df['FullName'] = inteminvdf.loc[df['Item No'],'FullName'] df=df.merge(inteminvdf, how="left") - + print(df['FullName'].isnull()) + print(df['FullName']) # print(df) if df['FullName'].isnull().sum() > 0: print("Cannot Find Item FullName") listitemNoFullName = df.loc[df['FullName'].isnull()].values.tolist() df=df.reindex(columns=['Ext.Doc.No.', 'No.SO/Ext.Doc.No.', 'Item No', 'FullName', 'Quantity', 'UOM']) - print(df) - print(listitemNoFullName) + # print(df) + # print(listitemNoFullName) # print(listitemNoFullName) return False, listitemNoFullName else: @@ -232,5 +251,8 @@ if __name__=="__main__": # read_DN_excel(filename) # filename = "DN_Excel_files\TCO-DNPR-2305-00305.xls" # read_DN_excel(filename) - filename = "DN_Excel_files\TCO-DNPG-2307-01407.xls" - read_DN_excel(filename) \ No newline at end of file + # filename = "DN_Excel_files\TCO-DNPG-2307-01407.xls" + filename = "DN_Excel_files\TCO-DNPG-2310-00337.xls" + status, retdict = read_DN_excel(filename) + print(status) + print(retdict) \ No newline at end of file