workbook = xlsxwriter.Workbook(filename)
    row = 0
    col = 0
    for sheet_name in list_name:
        worksheet = workbook.add_worksheet(sheet_name)
        if sheet_name == 'bandit_task':
            row_headers = ['participant_num', 'cond_num', 'cpt_iteration', 'reaction_times', 'feedbacks',
                           'pressed_left', 'age', 'gender']
            worksheet.write_row(row, col, tuple(row_headers))
            for i in range(0, len(reaction_times_experiment)):
                row += 1
                worksheet.write_row(row, col,
                                    tuple((participant_number, cond_num, i, reaction_times_experiment[i], feedbacks[i],
                                           pressed_lefts[i], age, gender)))

        if sheet_name == 'rating':
            row = 0
            row_headers = ['initial_base_line', 'initial_rating_score', 'initial_reaction_time',
                           'final_base_line', 'final_rating_score', 'final_reaction_time']
            worksheet.write_row(row, col, tuple(row_headers))

            for i in range(0, len(initial_ratings)):
                row += 1
                worksheet.write_row(row, col,
                                    tuple((initial_ratings[i][2], initial_ratings[i][0], initial_ratings[i][1],
                                           final_ratings[i][2], final_ratings[i][0], final_ratings[i][1])))

    workbook.close()
    core.quit()
    core.close()
def save_progress():
    # Store info about the experiment session
    expName = 'bandit_exp'
    expInfo = {
        'gui': {
            'participant_number': participant_number,
            'cond_num': cond_num,
            'age': age,
            'gender': gender
        },
        'date': data.getDateStr(),
        'expName': expName
    }

    directory_name = 'Data cognitive task'
    create_directory(directory_name)

    filename = directory_name + '/' + '%s_%s_%s.xlsx' % (
        participant_number, expName, expInfo['date'])
    print('filepath is %s' % filename)

    list_name = ['bandit_task', 'rating']

    try:
        workbook = xlsxwriter.Workbook(filename)
    except Exception as e:
        print('error while creating workbook')
        write_to_log_error_file('error while creating workbook')
        write_to_log_error_file(str(e))
        exit()

    try:
        print('final_ratings.....')
        global final_ratings
        global final_ratings_temperament
        global feedbacks
        global initial_ratings
        global initial_ratings_temperament
        global pressed_lefts
        global reaction_times_experiment

        if not final_ratings:
            final_ratings = [
                init_to_999(initial_ratings[0]),
                init_to_999(initial_ratings[1]),
                init_to_999(initial_ratings[2])
            ]

        if not final_ratings_temperament:
            final_ratings_temperament = final_ratings

        print(reaction_times_experiment)
        print(feedbacks)
        print(pressed_lefts)
        print(initial_ratings)
        print(final_ratings)
        print(initial_ratings_temperament)
        print(final_ratings_temperament)
        print('********************')

        feedbacks = remove_none(feedbacks)
        pressed_lefts = remove_none(pressed_lefts)
        initial_ratings = remove_none(initial_ratings)
        final_ratings = remove_none(final_ratings)
        initial_ratings_temperament = remove_none(initial_ratings_temperament)
        final_ratings_temperament = remove_none(final_ratings_temperament)

        print(reaction_times_experiment)
        print(feedbacks)
        print(pressed_lefts)
        print(initial_ratings)
        print(final_ratings)
        print(initial_ratings_temperament)
        print(final_ratings_temperament)

        row = 0
        col = 0
        for sheet_name in list_name:
            worksheet = workbook.add_worksheet(sheet_name)
            if sheet_name == 'bandit_task':
                row_headers = [
                    'participant_num', 'cond_num', 'cpt_iteration',
                    'reaction_times', 'feedbacks', 'pressed_left', 'age',
                    'gender'
                ]
                worksheet.write_row(row, col, tuple(row_headers))
                for i in range(0, len(reaction_times_experiment)):
                    row += 1
                    worksheet.write_row(
                        row, col,
                        tuple((participant_number, cond_num, i,
                               reaction_times_experiment[i], feedbacks[i],
                               pressed_lefts[i], age, gender)))

            if sheet_name == 'rating':
                row = 0
                row_headers = [
                    'initial_base_line', 'initial_rating_score',
                    'initial_reaction_time', 'final_base_line',
                    'final_rating_score', 'final_reaction_time',
                    'initial_base_line_temperament',
                    'initial_rating_score_temperament',
                    'initial_reaction_time_temperament',
                    'final_base_line_temperament',
                    'final_rating_score_temperament',
                    'final_reaction_time_temperament'
                ]
                worksheet.write_row(row, col, tuple(row_headers))
                for i in range(0, len(initial_ratings)):
                    row += 1

                    print('i', i)
                    print(row, col)
                    print(initial_ratings[i][2], initial_ratings[i][0],
                          initial_ratings[i][1])
                    print('****')
                    print(final_ratings)
                    print(final_ratings[i])
                    print(final_ratings[i][2], final_ratings[i][0],
                          final_ratings[i][1])
                    print('****')
                    print(initial_ratings_temperament[i][2],
                          initial_ratings_temperament[i][0],
                          initial_ratings_temperament[i][1])
                    print('****')
                    print(final_ratings_temperament[i][2],
                          final_ratings_temperament[i][0],
                          final_ratings_temperament[i][1])
                    print('****')
                    print('****')

                    t = tuple((initial_ratings[i][2], initial_ratings[i][0],
                               initial_ratings[i][1], final_ratings[i][2],
                               final_ratings[i][0], final_ratings[i][1],
                               initial_ratings_temperament[i][2],
                               initial_ratings_temperament[i][0],
                               initial_ratings_temperament[i][1],
                               final_ratings_temperament[i][2],
                               final_ratings_temperament[i][0],
                               final_ratings_temperament[i][1]))
                    print(t)
                    worksheet.write_row(row, col, t)
    except Exception as e:
        print('error while writing in workbook')
        write_to_log_error_file('error while writing in workbook')
        write_to_log_error_file(str(e))
        exit()
    exit()
    workbook.close()
    core.quit()
    core.close()