accomodate empty column in reading excel

This commit is contained in:
bcomsugi 2023-11-08 17:23:36 +07:00
parent 4f527d458a
commit 13d140e9e9

View File

@ -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)
# 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)