Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Solution: Dictionary of dictionaries

import sys

filename = 'examples/csv/monty_python.csv'
if len(sys.argv) == 2:
    filename = sys.argv[1]

people = {}

with open(filename) as fh:
    fh.readline() # skip first row
    for line in fh:
        line = line.rstrip('\n')
        fname, lname, born = line.split(',')
        people[(fname, lname)] = {
            'fname': fname,
            'lname': lname,
            'born': born,
        }

print(people[('Eric', 'Idle')]['born'])
import sys
import csv

filename = 'examples/csv/monty_python.csv'
if len(sys.argv) == 2:
    filename = sys.argv[1]

people = {}

with open(filename) as fh:
    reader = csv.DictReader(fh)
    for line in reader:
        people[(line['fname'], line['lname'])] = line

print(people[('Eric', 'Idle')]['born'])