Adding values from DictReader to empty dictionary I made a rock climbing simulator game for fun.  Below is a function from the program, which works. But I can't help but think it could be refactored or more pythonic. 

Namely, I open the data with csv.DictReader and read through the data, which add to a blank dictionary called route_info.  Is this step necessary?

The function has a with-open block, which opens a .csv file, but a link to the data is here.

import csv
import time


routes_climbed = []
pitches_climbed = 0

def choose_route():
    """After deciding about the weather, you come here and choose a 
    route to climb. Reads list of routes from .csv file with names, 
    grades, and pitches."""

    global routes_climbed, pitches_climbed

    route_info = {}

    with open('seneca_routes.csv', 'r', encoding='utf-8-sig') as f:     #weird encoding from excel?
        reader = csv.DictReader(f, ('route_name', 'route_grade', 'pitches'))
        print("Choose a route to climb from the following list of classics.")
        print()

        for row in reader:
            print(row['route_name'],row['route_grade'])
            route_info[row['route_name']] = row['pitches']

    route_choice = input("Which route do you want to climb? : ")

    if route_choice in route_info.keys():
        routes_climbed.append(route_choice)
        pitches_climbed += int(route_info[route_choice])
        climb_route(route_choice)
    else:
        print("Incorrect route name")
        time.sleep(3)
        choose_route()

choose_route()
Some suggestions:


Pass the code through at least one linter such as pycodestyle or flake8 to get more idiomatic Python.
Don't use global. Returning two values, while ugly, is preferable to having global state.
You can add \n to the end of a string to print a newline, avoiding empty print()s.
Use argparse to rather than input() to make the script … well, scriptable.
Each route should probably be an object rather than a disparate set of just stuff, even though these objects will have no methods for now.
Using a main method as the entry point for the functionality would make the script usable by other scripts.