@classmethod
    def from_dicts(cls, dicts, keys=None):
        iterator = iter(dicts)
        try:
            first = next(iterator)
        except StopIteration:
            if keys is None:
                raise ValueError("No entry in sequence")
            return cls([[]] * len(keys), 0, list(keys))
        if keys is None:
            keys = first.keys()
        columns = [[first[key]] for key in keys]
        count = 1
        for dct in iterator:
            for i, key in enumerate(keys):
                try:
                    v = dct[key]
                except KeyError:
                    raise ValueError((count, key) % "Entry %d has no key %r")
                else:
                    columns[i].append(v)
            count += 1
        return cls(columns, count, keys)
dataset/ETHPy150Open VisTrails/VisTrails/vistrails/packages/tabledata/common.py/TableObject.from_dicts/swapped operands of `%`