Hi List,
I ran into unexpected behavior when iterating over rows in a table
(PyTables version '2.2a2').
The attached script shows the problem (minimal example), but, briefly:
if one iterates over rows in a table, and checks in the loop if the
row has a certain key, the iterator will jump to the last row and skip
all other rows.
I admit checking for a key is a stupid thing to do (one should look at
the table colnames before the loop), and I don't even know if the row
type is intended to support this. But this aside, is the iterator
behavior shown here a bug?
Cheers, Gabriel
import numpy as np
import tables as tb
dtype = np.dtype([('number', np.int)])
structar = np.arange(10).view(dtype)
h5f = tb.openFile('testfile.h5','w')
t = h5f.createTable(h5f.root, 'testtable', structar)
h5f.flush()
print "this works as expected"
for row in t.iterrows():
print row
print "this doesn't"
for row in t.iterrows():
if 'number' in row:
pass
print row
h5f.close()
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Pytables-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pytables-users