-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcsv_reader.py
More file actions
executable file
·88 lines (69 loc) · 2.85 KB
/
csv_reader.py
File metadata and controls
executable file
·88 lines (69 loc) · 2.85 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import csv
import os
import sys
import codecs
import sqlite3 as lite
con = None
AllStudents = []
AllAssignments = []
try:
# con = lite.connect('C:\\Users\\dvazquez\\sandbox\\sqlite3\\comments.db')
con = lite.connect('GGCommentsDB.db')
with con:
cur = con.cursor()
AllStudents = cur.execute("SELECT * FROM Students").fetchall()
# print(AllStudents)
currentDir = os.path.dirname(sys.argv[0])
grades_file= currentDir + '/Comments/GRADES/IT2A2-I1-report.csv'
with codecs.open(grades_file, 'r', encoding='cp1252') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='"')
count = 1
for row in spamreader:
type = ""
if row[0].startswith("Scoresheet"):
type = "FL"
print("FL: " + row[0])
elif row[0] == "":
type = "AS"
print("AS")
AllAssignments = row
print(AllAssignments)
print(len(AllAssignments))
# for counter, assignment in enumerate(AllAssignments):
# cur.execute("INSERT INTO Assignments (id, class, title) VALUES (?,?,?)",(counter,"IT2A2",assignment))
else:
type = "ST"
print("ST:" + row[0])
studentName = row[0].split(",")
studentName[0] = studentName[0].strip()
studentName[1] = studentName[1].strip()
for student in AllStudents:
if student[3] == studentName[0] and student[2] == studentName[1]:
studentId = student[0]
print(str(student[0]) + ":" + student[2] + ":" + student[3])
for idx in range(1, len(AllAssignments)):
print((count, studentId, idx, row[idx]))
cur.execute("INSERT INTO assigment_grade (id, student_id, grade_id, grade) VALUES (?,?,?,?)",
(count, studentId, idx, row[idx]))
count += 1
print(studentName)
'''
for counter, cadena in enumerate(row):
cadena = cadena.replace("\n"," ")
row[counter] = cadena
if counter == 0 :
if cadena.startswith("Scoresheet"):
type = "FL"
elif cadena == "":
type = "AS"
else:
type = "ST"
'''
# cur.execute()
print('|'.join(row))
except lite.Error as e:
print("Error %s:" % e.args[0])
sys.exit(1)
finally:
if con:
con.close()