From: Francesc A. <fa...@py...> - 2004-05-20 18:20:06
|
A Dijous 20 Maig 2004 18:32, John Bradbury va escriure: > I guess this may be a stupid question as I have not been able to get it > answered before. > > Can you updata existing records in pytables or do you have to copy the tbale > to a new location? I don't see any functions which do this. Yes, you can. However, currently, you have to manually read the record into a private variable, delete it in table (see Table.removeRows() method), modify the record as you want, and append() it again. Be cautious because deleting rows is a *potentially* slow operation in pytables, as it implies a recopying of part of the table (although this has been optimized in C, if the table is large). I was somewhat reluctant to offer a kind of Table.modifyRow() in order to do that because I wanted to find a better solution for modifications (instead of read-->delete->append procedure). The problem is that HDF5 does not support modifications at that time, and under my request, they said that this is not high priority for them. Meanwhile, I'll add the addition of a modifyRow() in my TODO list (even though the first version could represent a sub-optimal approach). Regards, -- Francesc Alted |