
On Mon, Jul 31, 2017 at 3:41 PM, David Mertz <mertz@gnosis.cx> wrote:
But most of the time you always have the same attributes in the same order (think of reading a CSV for example), and this would be just a normal tuple, but with custom names for the indexes.
You apparently live in a halcyon world of data cleanliness where CSV data is so well behaved.
In my world, I more typically deal with stuff like
data1.csv: -------------- name,age,salaryK John,39,50 Sally,52,37
data2.csv: -------------- name,salaryK,age Juan,47,31 Siu,88,66
I'm likely to define different namedtuples for dealing with this:
NameSalAge = namedtuple('NSA','name salary age') NameAgeSal = namedtuple('NAS','name age salary')
Then later, indeed, I might ask:
if employee1.salary == employee2.salary: ...
And this would work even though I got the data from the different formats.
Then you want csv.DictReader and dictionary lookups. ChrisA