Обработка ошибок попробуйте и за исключением - PullRequest
0 голосов
/ 03 мая 2020

моя функция получает файл 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 {}
...