-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata.py
48 lines (33 loc) · 1.13 KB
/
data.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
from datetime import datetime
ZERO_TEXT = 'κανένα'
# Convert data line and handle special cases
def specialHandler(data):
# Convert none text to number
if ZERO_TEXT in data:
data[data.index(ZERO_TEXT)] = 0
# Clear numbers from dots
for i in range(len(data)):
data[i] = numbers(data[i])
# Convert special dates that not fit the rest of data
if data[0] == '21/9/2020':
data.pop(2) # delete 184
if data[0] == '8/6/2020':
data.pop(3) # delete 4
if data[0] == '02/05/2021':
data.pop(0) # delete 02/05/2021 keep 03/05/2021
# Format dates
data[0] = dateFormat(data[0])
data = data[:9]
# Move tests to proper location when ΜΕΘ is missing
if len(data) == 7 and int(data[-1]) > 50000:
data.insert(-1, None)
# print(f"\t\t{data}")
# Fill all columns with None
return data + [None]*(9-len(data))
def numbers(s):
return str(s).replace('.', '')
def dateFormat(d):
if len(str(d[d.rfind('/')+1:])) == 4:
return datetime.strptime(d, '%d/%m/%Y').date()
else:
return datetime.strptime(d, '%d/%m/%y').date()