Solution: CSV as dictionary of tuples of dictionaries
Create a script called monty_python_dictionary_of_tuples.py that given a file like the CSV file of Monty Python troupe (examples/csv/monty_python.csv" %}, will create a dictionary where we can look up information about them based on the first name and last name. For example:
import csv
import sys
def read_csv_file(filename):
name_of = {}
with open(filename) as fh:
rd = csv.DictReader(fh, delimiter=',')
for row in rd:
name_of[ (row['fname'], row['lname']) ] = row
return name_of
filename = 'examples/csv/monty_python.csv'
if len(sys.argv) == 2:
filename = sys.argv[1]
people = read_csv_file(filename)
#print(people)
print(people[("Graham", "Chapman")])
# {'fname': 'Graham', 'lname': 'Chapman', 'born': '8 January 1941'}
print(people[("Michael", "Palin")])
# {'fname': 'Michael', 'lname': 'Palin', 'born': '5 May 1943'}