моя функция получает файл CSV и должна быть проверена, прежде чем перейти к фактической задаче (вычисление среднего значения). Я пытался вызвать исключение, если условие «если» истинно, но я получаю SyntaxError в строке «печать» в конце. Я попробовал остальную часть кода, и он отлично работает. Я просто пытаюсь обработать тесты для файла CSV (это только один из них, мне нужно вставить еще несколько) перед запуском второго «для l oop», но я не получаю синтаксическую ошибку. Спасибо!
def calc_profit_per_group (in_file):
lines= f.readlines()
series_names=[]
dicta={'happy':0, 'sad':0, 'neutral':0}
counter_happy= 0
happy_movies= 0
counter_sad= 0
sad_movies= 0
counter_neutral= 0
neutral_movies= 0
count=0
try:
for line in lines:
tokens= line.rstrip().split(',')
series_names.append(tokens[0])
for i in range(len(series_names)):
if series_names[i] in series_names[i+1:]:
raise exception
for line in lines:
line_list= line.rstrip().split(',')
if line_list[2]== "happy":
happy_movies= happy_movies+float(line_list[1])
counter_happy+=1
elif line_list[2]== "sad":
sad_movies= sad_movies+float(line_list[1])
counter_sad+=1
elif line_list[2]== "neutral":
neutral_movies= neutral_movies+float(line_list[1])
counter_neutral+=1
dicta['happy']= happy_movies/counter_happy
dicta['sad']= sad_movies/counter_sad
dicta['neutral']= neutral_movies/counter_neutral
return dicta
except exception:
print("The series " + str(series_names[i]) + " appears more than once") from None
return {}