Skip to content

Commit bd76b60

Browse files
author
steven.chen3
committed
exercise csv 2/4
1 parent 196a1fc commit bd76b60

2 files changed

Lines changed: 32 additions & 4 deletions

File tree

student_manager/command/command_processor.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,34 @@ def process_list(student_data: dict):
1111

1212

1313
def process_add(student_data: dict):
14-
pass
14+
name = input("Please input name: ")
15+
chinese_score = input("Please input chinese score: ")
16+
english_score = input("Please input english score: ")
17+
math_score = input("Please input math score: ")
18+
19+
record = {
20+
"name": name,
21+
"chinese": int(chinese_score),
22+
"english": int(english_score),
23+
"math": int(math_score)
24+
}
25+
26+
student_data[name] = record
27+
print(f"Added student scores for '{name}' successfully")
1528

1629

1730
def process_edit(student_data: dict):
1831
pass
1932

2033

2134
def process_delete(student_data: dict):
22-
pass
35+
name = input("Please input name: ")
36+
37+
if name in student_data.keys():
38+
student_data.pop(name)
39+
print(f"Delete '{name}' successfully")
40+
else:
41+
print(f"Student '{name}' does not exist")
2342

2443

2544
def process_average(student_data: dict):

student_manager/store/csv_store.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import csv
22
import os.path
33

4+
file = "students.csv"
5+
46

57
def load_data() -> dict:
6-
file = "students.csv"
78

89
result = {}
910

@@ -21,4 +22,12 @@ def load_data() -> dict:
2122

2223

2324
def save_data(data: dict):
24-
pass
25+
file_instance = open(file, 'w', encoding="UTF8")
26+
27+
if len(data) > 0:
28+
rows = list(data.values())
29+
csv_writer = csv.DictWriter(file_instance, rows[0].keys())
30+
csv_writer.writeheader()
31+
csv_writer.writerows(rows)
32+
33+
file_instance.close()

0 commit comments

Comments
 (0)