mattritchey commited on
Commit
50d74bb
·
1 Parent(s): 4e1a625

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -11
app.py CHANGED
@@ -20,13 +20,16 @@ def normalize_string(string):
20
  return normalized_string
21
 
22
  def jaccard_similarity(string1, string2,n = 2, normalize=True):
23
-
24
- if normalize:
25
- string1,string2= normalize_string(string1),normalize_string(string2)
26
-
27
- grams1 = set(ngrams(string1, n))
28
- grams2 = set(ngrams(string2, n))
29
- similarity = len(grams1.intersection(grams2)) / len(grams1.union(grams2))
 
 
 
30
  return similarity
31
 
32
 
@@ -90,14 +93,14 @@ def google_address(address):
90
  df.insert(0,'Address Input',address)
91
 
92
  return df
93
-
94
  def catch_errors(addresses):
95
  try:
96
  return google_address(addresses)
97
  except:
98
  return pd.DataFrame({'Address Input':[addresses]})
99
 
100
-
101
  def process_multiple_address(addresses):
102
  results=Parallel(n_jobs=32, prefer="threads")(delayed(catch_errors)(i) for i in addresses)
103
  return results
@@ -108,11 +111,11 @@ st.set_page_config(layout="wide")
108
 
109
  address = st.sidebar.text_input("Address", "190 Pebble Creek Dr Etna, OH 43062")
110
  uploaded_file = st.sidebar.file_uploader("Choose a file")
111
- address_file = st.sidebar.radio('Choose',('Single Address', 'File'))
112
  match_percent = st.sidebar.selectbox('Address Match Percentage At Least:',(70, 80, 90, 100, 0))
113
  return_sq = st.sidebar.radio('Return Only Results with Square Footage',('No', 'Yes'))
114
 
115
- if address_file == 'File' and not None:
116
  try:
117
  df = pd.read_csv(uploaded_file)
118
  except:
 
20
  return normalized_string
21
 
22
  def jaccard_similarity(string1, string2,n = 2, normalize=True):
23
+ try:
24
+ if normalize:
25
+ string1,string2= normalize_string(string1),normalize_string(string2)
26
+
27
+ grams1 = set(ngrams(string1, n))
28
+ grams2 = set(ngrams(string2, n))
29
+ similarity = len(grams1.intersection(grams2)) / len(grams1.union(grams2))
30
+ except:
31
+ similarity=0
32
+
33
  return similarity
34
 
35
 
 
93
  df.insert(0,'Address Input',address)
94
 
95
  return df
96
+
97
  def catch_errors(addresses):
98
  try:
99
  return google_address(addresses)
100
  except:
101
  return pd.DataFrame({'Address Input':[addresses]})
102
 
103
+ @st.cache_data
104
  def process_multiple_address(addresses):
105
  results=Parallel(n_jobs=32, prefer="threads")(delayed(catch_errors)(i) for i in addresses)
106
  return results
 
111
 
112
  address = st.sidebar.text_input("Address", "190 Pebble Creek Dr Etna, OH 43062")
113
  uploaded_file = st.sidebar.file_uploader("Choose a file")
114
+ # address_file = st.sidebar.radio('Choose',('Single Address', 'File'))
115
  match_percent = st.sidebar.selectbox('Address Match Percentage At Least:',(70, 80, 90, 100, 0))
116
  return_sq = st.sidebar.radio('Return Only Results with Square Footage',('No', 'Yes'))
117
 
118
+ if uploaded_file is not None:
119
  try:
120
  df = pd.read_csv(uploaded_file)
121
  except: