row.py 644 Bytes
class Row(object):
    def __init__(self, fieldnames):
        self.fieldnames = fieldnames
        self.values = dict()
        for name in fieldnames:
            self.values[name] = ''
        self.count = len(fieldnames)

    def __setitem__(self, name, value):
        self.values[name] = value

    def __getitem__(self, name):
        return self.values[name]

    def __iter__(self):
        self.index = 0
        return self

    def __next__(self):
        if self.index == self.count:
            raise StopIteration
        index = self.index
        self.index += 1
        name = self.fieldnames[index]
        return self[name]