2017-09-05 5 views
3

ArcGIS에서 Arcpy로 작업 중이며 전월 마지막 날 필드를 업데이트하는 코드를 작성하려고합니다. (예 : 오늘 코드를 실행하면 2017-09- 01을 입력하면 2017-08-31로 필드가 업데이트됩니다).CalculateField를 사용하여 날짜가있는 필드를 업데이트하십시오.

내가 수동 필드 계산을 할 경우에, 나는 VBScript와 사전 논리 스크립트 코드를 사용하여 작동하도록 얻을 수 있습니다 :

Dim FC 
FC = DateSerial(Year(Date), Month(Date), 0) 

을 한 후 동일한 FC에 필드를 설정 :

see image here

자동으로 실행되도록 설정할 수 있도록 코드에 통합하려했지만 행운이 없었습니다. 누구든지 내가 아래 코드로 어디서 잘못 될 지 식별 할 수 있습니까?

import arcpy 

inTable = r'C:\1 Block Watch Cr\Base_Data.gdb\Districts' 
field = "Final_Date" 
exp = 'getdate()' 
codeblock = '''def getdate(): 
    DateSerial(Year(Date()), Month(Date()), 0)''' 

arcpy.CalculateField_management(inTable, field, exp, "VB", codeblock) 

나는 다음과 같은 오류 메시지가 점점 오전 : 당신은 "하위를 호출하는 동안 괄호를 사용할 수 없습니다"라는 오류를 얻고있다

screenshot of error message

+0

어떤 오류가 발생했는지 게시 할 수 있습니까? – Akash

+0

업데이트 된 게시물보기 - 이미지를 추가했습니다. – AmandaNicole

답변