|
|
|
|
@ -65,15 +65,16 @@ class ILReport: |
|
|
|
|
print(f"{self.output_name} failed to process:\n{e}") |
|
|
|
|
self.successful = False |
|
|
|
|
return 1 |
|
|
|
|
# try: |
|
|
|
|
# # Save the dataframe as an excel document |
|
|
|
|
# dataframe.to_excel(f"{self.output_location}/{self.output_name}_{dt.now().strftime('%Y%m%d-%H%M')}.xlsx", index = False) |
|
|
|
|
# except Exception as e: |
|
|
|
|
# self.successful = False |
|
|
|
|
# print(f"{self.output_name} failed to save to excel!\n{dataframe}\n{e}") |
|
|
|
|
# return 1 |
|
|
|
|
# self.successful = True |
|
|
|
|
return 0 |
|
|
|
|
try: |
|
|
|
|
# Save the dataframe as an excel document |
|
|
|
|
dataframe.to_excel(self.output_location, index = False, engine="openpyxl") |
|
|
|
|
except Exception as e: |
|
|
|
|
self.successful = False |
|
|
|
|
print(f"{self.output_location} failed to save to excel!\n{dataframe}\n{e}") |
|
|
|
|
return 1 |
|
|
|
|
self.successful = True |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
def process(self): |
|
|
|
|
try: |
|
|
|
|
# Open the file and read it to a string | errors = 'replace' deals with non UTF-8 characters (no affect on output) |
|
|
|
|
@ -83,19 +84,19 @@ class ILReport: |
|
|
|
|
print(f"Failed to open file: {self.location}\n{ioe}") |
|
|
|
|
self.successful = False |
|
|
|
|
return 1 |
|
|
|
|
try: |
|
|
|
|
#try: |
|
|
|
|
# Run the associated method to extract the data and get the dataframe |
|
|
|
|
dataframe = self.x_method(report, self.output_name) |
|
|
|
|
dataframe = self.x_method(report, self.output_location) |
|
|
|
|
try: |
|
|
|
|
assert(len(dataframe) > 1) |
|
|
|
|
except Exception as e: |
|
|
|
|
print(f"Data Length Error: {self.output_name} is empty:\n{dataframe}") |
|
|
|
|
self.successful = False |
|
|
|
|
return 1 |
|
|
|
|
except Exception as e: |
|
|
|
|
print(f"{self.output_name} failed to process:\n{e}") |
|
|
|
|
self.successful = False |
|
|
|
|
return 1 |
|
|
|
|
#except Exception as e: |
|
|
|
|
# print(f"{self.output_name} failed to process:\n{e}") |
|
|
|
|
# self.successful = False |
|
|
|
|
# return 1 |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -178,7 +179,7 @@ def ach(report: str, save_name: str): |
|
|
|
|
if (re.search(contract_number_regex, line[1]) != None) & (re.search(bank_number_regex, line[1]) != None): |
|
|
|
|
[extracted_data_dict[columns[c]].append(data_extractor(c, line[1])) for c in range(0, len(columns))] |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
def disposition(report: str, save_name: str): |
|
|
|
|
@ -203,7 +204,7 @@ def disposition(report: str, save_name: str): |
|
|
|
|
[extracted_data_dict[columns[c]].append(data_extractor(c,line[1])) for c in range(0, len(columns)-1)] |
|
|
|
|
extracted_data_dict["Customer Name"].append(lines[line[0]+1].strip()) |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -289,7 +290,7 @@ def gainloss(report: str, save_name: str): |
|
|
|
|
disp_descriptoin.append(" ".join(disp_split[1:])) |
|
|
|
|
df["DISPOSITION CODE"] = disp_code |
|
|
|
|
df["DISPOSITION DESC"] = disp_descriptoin |
|
|
|
|
df.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
df.to_excel(save_name, index=False) |
|
|
|
|
return df |
|
|
|
|
|
|
|
|
|
# Works for Net-inv-loans & NIV-after |
|
|
|
|
@ -338,7 +339,7 @@ def net_invest_trial_balance(report: str, save_name: str): |
|
|
|
|
[extracted_data_dict[c[0]].append(data_extractor(c[1], data_section[2])) for c in line2] |
|
|
|
|
[extracted_data_dict[c[0]].append(data_extractor(c[1], data_section[3])) for c in line3] |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -394,7 +395,7 @@ def lockbox(report: str, save_name: str): |
|
|
|
|
# Once it hits, add the name to the dict |
|
|
|
|
extracted_data_dict["CustomerName"].append(data_extractor(7,lines[line[0]+i])) |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -418,7 +419,7 @@ def minv(report: str, save_name: str): |
|
|
|
|
[extracted_data_dict[columns[c]].append(data_extractor(c,line[1],debug=False)) for c in range(0,len(columns))] |
|
|
|
|
#All the list lengths need to be the same so if anything was missed it will fail to build |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
# Good for PUB_WIRES, VMCC, PBP_EPAY, returned check |
|
|
|
|
@ -457,7 +458,7 @@ def payment_transactions(report: str, save_name: str): |
|
|
|
|
inv_no = lines[line[0]+1][79:90].strip() |
|
|
|
|
extracted_data_dict['INV NO'].append(inv_no) |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -498,7 +499,7 @@ def renewal_net_invest_trial_balance(report: str, save_name: str): |
|
|
|
|
[extracted_data_dict[c[0]].append(data_extractor(c[1], data_section[1])) for c in line1] |
|
|
|
|
[extracted_data_dict[c[0]].append(data_extractor(c[1], data_section[2])) for c in line2] |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -536,5 +537,5 @@ def unapplied(report: str, save_name: str): |
|
|
|
|
[extracted_data_dict[columns[c]].append(data_extractor(c,line[1])) for c in range(0,9)] |
|
|
|
|
[extracted_data_dict[columns[8+c]].append(data_extractor(c,lines[line[0]+1])) for c in range(1,len(columns)-8)] |
|
|
|
|
dataframe = pd.DataFrame(extracted_data_dict) |
|
|
|
|
dataframe.to_excel(save_name, index=False, engine="xlsxwrtier") |
|
|
|
|
dataframe.to_excel(save_name, index=False) |
|
|
|
|
return dataframe |