Programming Language that is Spreadsheet/Table Based
James Stroud
jstroud at mbi.ucla.edu
Sat Nov 4 06:23:24 EST 2006
Gerard Flanagan wrote:
> What about symmetric 'load' and 'iterrows' methods for the Table class:
>
> t2 = Table()
> t2.load( t1.iterrows("LastName", "Age") )
>
> def load(self, iterable):
> '''expecting tuples'''
> for lname, age in iterable:
> self.append( lname, age )
>
> def iterrows(self, *args):
> '''returns a generator which itself returns tuples
> filtered by the column names in *args (via
> operator.itemgetter maybe?)'''
>
>
> There might be some value in comparing Microsoft's DataSet API. IIRC,
> you typically have:
>
> *UI* - DataView - DataSet - DataAdapter - *DATABASE*
>
> A DataSet is a collection of DataTables and has a lot of DB/XML
> functionality and so on. A DataView on the other hand is more
> lightweight and has mainly filtering and sorting functions and is
> designed to be bound to a GUI widget such as a DataGrid.
>
> You might have something along the lines of:
>
> ds = DataSet()
> # fill ds from datasource
> dt_customers = ds.tables["customers"]
> view = DataView( dt_customers )
> view.rowfilter = "lastname LIKE 'A*' and Age < 60"
>
> I'm not saying imitate this, but maybe some value in studying the
> OO-bondage approach.
Thank you, this is very good stuff to think about.
James
More information about the Python-list
mailing list