Скрипт ArcGIS python для замены дат в поле даты таблицы базы геоданных

Я пытаюсь обновить поле даты в таблице базы геоданных с помощью калькулятора поля, чтобы все даты до 01.01.2001 были заменены на 01.01.2001, а остальные даты остались без изменений. Поскольку поле даты находится в базе геоданных, оно также имеет отметку времени (формат: гггг-мм-дд чч:мм:сс). Любая помощь очень ценится.


person FSaunders    schedule 11.08.2015    source источник


Ответы (1)


Используйте datetime (https://docs.python.org/2/library/datetime.html) для этого. В следующем фрагменте показано, как преобразовать ваши строки в объекты datetime.datetime и использовать их для сравнения дат. В зависимости от вашей базы данных вы можете попытаться векторизовать это.

import datetime                                                                   

def convert(string):                                                              
    dt = datetime.datetime.strptime(string, "%Y-%m-%d %H:%M:%S")                  
    return dt                                                                     

example_before = convert("1999-03-22 11:32:53")                                        
thresh = convert("2001-01-01 00:00:00")                                           

# use < and > to compare dates works with datetime!                                        
if example_before < thresh:                                                       
    print("Yes")                                                                  
    # do your field update
person chris-sc    schedule 11.08.2015