-
Notifications
You must be signed in to change notification settings - Fork 0
/
BETS_search.py
68 lines (46 loc) · 1.98 KB
/
BETS_search.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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import re as re
import pandas as pd
import os
from msg import msg
def bets_search(description=None, src=None, periodicity=None, unit=None, code=None, view=True, lang="en"):
filelist = os.listdir("C:/Users/fernando.teixeira/PycharmProjects/BETS-beta-python/data")
os.chdir("C:/Users/fernando.teixeira/PycharmProjects/BETS-beta-python/data")
# read them into pandas
df_list = [pd.read_table(file, sep=',', index_col=0, low_memory=False) for file in filelist]
if lang == "pt":
database = df_list[3]
else:
database = df_list[1]
if description is None and src is None and periodicity is None and unit is None and code is None:
print(msg("No search parameters. Please set the values of one or more parameters."))
params = []
if description != None:
# Break description parameters
and_params = []
or_params = []
# Workaround
description = ' '.join([description])
# TODO regex
# Do not match whole expressions
# exprs = re.match("~ ?'(.*?)'", description)
'''
if len(exprs) != 0:
for i in range(len(exprs)):
description = "string1"
exprs[i] = "string2"
exprs[i] = "string3"
exprs[i] = " string4 ".strip()
and_params.append(''.join(["Description not like", "\'%", exprs[i], "%\'"]))
# Match whole expressions
exprs = "regex3"
if len(exprs) != 0:
for i in range(len(exprs)):
description = re.sub(exprs[i], "", description)
exprs[i] = re.sub("'", "", exprs[i])
exprs[i] = exprs[i].strip()
or_params.append(''.join(["Description like", "\'%", exprs[i], "%\'"]))
# Do not match words
words = description.str.extract("~ ?(.*?) ", expand=True)[0]
'''
#bets_search(start=10, description="teste")
print(bets_search(description='unemployment', view=False))