-
Notifications
You must be signed in to change notification settings - Fork 0
/
readCsv.py
40 lines (36 loc) · 1.27 KB
/
readCsv.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
import csv
from Instance import Instance
# atualiza o array de minimo e maximo de cada um dos parametros
def updateMinMax(row, minArg, maxArg):
row = [float(i) for i in row]
if (maxArg == []):
minArg = list(row)
maxArg = list(row)
return minArg, maxArg
else:
for i, param in enumerate(row):
if maxArg[i] < param:
maxArg[i] = param
if minArg[i] > param:
minArg[i] = param
return minArg, maxArg
# ler do arquivo csv e salva as informacoes nos arrays
def readCsv(file):
classes = []
tests = []
maxArg = []
minArg = []
with open(file) as csvFile:
csvReader = csv.reader(csvFile, delimiter=',')
line_count = 0
for row in csvReader:
if (row != [] and line_count != 0):
param = [float(i) for i in row[:len(row)-1]]
classification = row[len(row)-1]
test = Instance(line_count-1, param, classification)
tests.append(test)
minArg, maxArg = updateMinMax(row[:len(row)-1], minArg, maxArg)
if not(classification in classes):
classes.append(classification)
line_count += 1
return (classes, tests, minArg, maxArg)