-
Notifications
You must be signed in to change notification settings - Fork 0
/
file_finder.py
49 lines (40 loc) · 1.98 KB
/
file_finder.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import pyparsing
import pandas as pd
import numpy as np
import json
import logging
import nltk, re, pprint
from nltk import word_tokenize
from decimal import Decimal
def file_finder():
from tkinter import Tk
from tkinter.filedialog import askopenfilename
root = Tk()
root.withdraw()
try:
filepath = askopenfilename(title = "Select a text file to mine",filetypes = (("Text files","*.txt"),("all files","*.*")))
if '.txt' in filepath.lower():
filename = filepath.split('/')[-1].lower()
filename = re.sub('\([0-9]*\)|.txt|- [0-9]*|-[0-9]*','',filename).strip()
token = re.sub('\s','',filename)
token_list = ['batchproof', 'chartofaccounts', 'ctdreg_othrswages','finalhierrollup', 'glmenu01', 'gmp11extcomp_mgcnt',
'gmp11extmgcnt_comp', 'hoursregister', 'mgtdtldrwnf_stck','mpcacctpayable', 'mpcacctrecvreport', 'mpcapclaimsreport',
'mpcgljournals', 'mpcmatandsupp', 'mpcpayroll', 'mpcprovliab','mpcrevenue', 'mpctreaworkreport', 'mpcworkcompreport','rrdreg_othrswages']
if token in token_list:
print('File format found\nConverting \'{}\' at \'location {}\' to an Excel file'.format(filename.capitalize(),filepath))
return token, filepath, token_list
else:
print('File not found, please ensure that the file name is correct or the file is convertible. Check convertible file list to find out more')
return None, None, None
else:
print('Please upload a text file for conversion')
return None, None, None
except:
print('Something went wrong please re-run the code block')
return None, None, None
def file_miner(token,filepath,token_list):
try:
if token in token_list:
exec('{}(\'{}\')'.format(token,filepath))
except Exception as e:
print('Something went wrong please re-run the code block. \nError Code',e)