Поиск в DBF и обновление записи
Код:
#!/usr/bin/python
db = dbf.Dbf("MEST2.DBF")
#LINE TO UPDATE:
rec = db[0]
#PROEST IS A field of my dbf. I'm assigning 1 to this field line 0
rec["PROEST"] = 1
rec.store()
del rec
db.close()
ИЗОБРАЖЕНИЕ DBF ТАБЛИЦА:http://i.stack.imgur.com/1UHE1.jpg
Моя проблема в том, что я не могу изменить записи по строкам, потому что положение продуктов (PROCOD) может отличаться.
Любые предложения, чтобы получить PROCOD и изменить значение PROEST?
ОБНОВЛЕНО:
#!/usr/bin/python
import dbf
db = dbf.Table('MEST2.DBF')
with db:
procod_idx = db.create_index(lambda rec: (rec.codigo, rec.procod))
match = procod_idx.search(match='000001')
# should only be one product with that code
record = match[0]
with record:
record.proest = 23
Но теперь вопрос в том, как я могу отредактировать значение на основе поля CODIGO (Код акции). У меня есть ID акций нескольких магазинов: (1, 2, 5, 11). Обновление кода только первый результат, мне нужно обновить конкретную запись, основанную на поле CODIGO.
В SQL будет: «ОБНОВИТЬ ПРОТЕСТ SET 32, где CODIGO = 11» ... или CODIGO = 2
РЕШИТЬ Итан Фурман
#!/usr/bin/python
import dbf
db = dbf.Table('MEST2.DBF')
with db:
procod_idx = db.create_index(lambda rec: (rec.codigo, rec.procod))
match = procod_idx.search(match=(11, '000001'))
record = match[0]
with record:
record.proest = 25
record.dt_atualiz = '14/07/15 16:52'