CSE 163
CSVs and Lists of Dictionaries�
Suh Young Choi�
🎶 Listening to: Tom Day
💬 Before Class: Before was was was, was was is. Ruminate!
This Time
Last Time
2
Recap
Dictionaries
CSV files
3
Dictionary Methods
4
dict() or {} | Makes an empty dictionary |
d[key] | Gets the value for k, KeyError if None |
d[key] = val | Assigns val as the value for key |
d.pop(key) | Removes key from this dictionary |
d.keys() | Returns a collection of the keys |
d.values() | Returns a collection of the values |
d.items() | Returns a collection of (key, value) tuples |
Processing CSVs
5
Processing CSVs
6
Name,Salary
Madrona,3
Ken,1
Ryan,3
Name
Salary
Madrona
3
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Processing CSVs
7
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Name,Salary
Madrona,3
Ken,1
Ryan,3
Name
Salary
Madrona
3
Processing CSVs
8
Name,Salary
Madrona,3
Ken,1
Ryan,3
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Name
Salary
Madrona
3
Name
Ken
Salary
1
Processing CSVs
9
Name,Salary
Madrona,3
Ken,1
Ryan,3
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Name
Salary
Madrona
3
Name
Ken
Salary
1
Processing CSVs
10
Name,Salary
Madrona,3
Ken,1
Ryan,3
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Name
Salary
Madrona
3
Name
Ken
Salary
1
Salary
Name
Ryan
3
Processing CSVs
11
Name,Salary
Madrona,3
Ken,1
Ryan,3
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Name
Salary
Madrona
3
Name
Ken
Salary
1
Salary
Name
Ryan
3
Processing CSVs
12
Name,Salary
Madrona,3
Ken,1
Ryan,3
[
{'Name': 'Madrona', 'Salary': 3},
{‘Name': 'Ken', 'Salary': 3},
{‘Name': 'Ryan’, 'Salary’: 3}
]
Name
Salary
Madrona
3
Name
Ken
Salary
1
Salary
Name
Ryan
3
0
1
2
0
1
2
Lists have a type…
13
# data is a list containing dictionaries
tas = cse163_utils.parse('tas.csv')
# tas[0] is a dictionary
madrona = tas[0]
# madrona['Salary'] is an int
madrona['Salary']
# Also works without an intermediate variable
tas[0]['Salary']
# Doesn't work! List doesn't allow string indices
tas['Salary'][0]
Group Work:
Best Practices
When you first working with this group:
Tips:
14
Before Next Time
Next Time
15