-----------------------
- feat: :meth:`.Table.from_csv` reads the file line by line. If ``column_types`` is a :class:`.TypeTester`, it reads the file into memory. (778)
- fix: Fix :meth:`.TableSet.print_structure` for nested tablesets. (765)
.. code-block:: python
import agate
mytable = agate.Table([
('foo', 'FOO', 1),
('foo', 'FOO', 2),
('bar', 'BOZ', 1),
('bar', 'BAZ', 2),
('bar', 'BIZ'),
])
Instead of:
.. code-block:: none
>>> mytable.group_by('a').group_by('b')
AttributeError: 'TableSet' object has no attribute 'rows'
Now:
.. code-block:: none
>>> mytable.group_by('a').group_by('b')
| table | rows |
| ------- | ---- |
| foo.FOO | 2 |
| bar.BOZ | 1 |
| bar.BAZ | 1 |
| bar.BIZ | 1 |