def edi_table(listy, delim): listy = listy.splitlines() # Reformats the data from EDI to tabled lists (this removes first element too, # remove "[1:]" to change for normal EDI) i = 0 for line in listy: listy[i] = line.split(delim) listy[i] = listy[i][1:] i += 1 listy.remove([]) return listy
'CTT' : {'*':['PO_span',1], }, 'REF' : {'RE':['unknown',2], 'IB':['Inbound',2], 'BD':['Bid_No',2], 'IF':['Issue_No',2], 'H6':['unknown', 2], 'ZZ':['Mutually_defined',2], 'H5':['Recall', 2], '99':['Rate Conf. ID', 2],'SV':['Service_Charge_No', 2] }, 'ST' : {'846':['Header_Segment', 0],'843':['Award_Segment', 0], '864':['Sys_notice',0] }, 'SE' : {'*':['Segment_Span',1] }, 'GS' : {'IB':['Award_Header',1] }, } # 'BIA' : {''},} listy = listy.splitlines() i=0 for line in listy: listy[i]=line[6:] i+=1 delim='*' for line in listy: element = line[:3] if delim in element: element = line[:2] line = line.split(delim) if element in specs: ind=line.index(element) code = line[ind+1] try: specs[element][code]