-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathreplace_null_with_empty_or_zero.py
More file actions
61 lines (47 loc) · 3.16 KB
/
replace_null_with_empty_or_zero.py
File metadata and controls
61 lines (47 loc) · 3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import arcpy
import inspect
arcpy.env.workspace = r'C:\temp\ETLs_ForCounties\CarbonCountyRoads.gdb'
#functions to remove null string or integer and replace with '' or 0
def RemoveNullString(x):
if x is None:
return ''
else:
return x
def RemoveNullInt(y):
if y is None:
return 0
else:
return y
def formatFeatureClass(FC):
inspect.getsource(RemoveNullString)
inspect.getsource(RemoveNullInt)
##format string fields
#arcpy.CalculateField_management(FC,"District","RemoveNullString(!District!)","PYTHON_9.3")
#arcpy.CalculateField_management(FC,"Species","RemoveNullString(!Species!)","PYTHON_9.3")
##format Numeric Fields
#arcpy.CalculateField_management(FC,"Area","RemoveNullInt(!Area!)","PYTHON_9.3")
#arcpy.CalculateField_management(FC,"Harvested","RemoveNullInt(!Harvested!)","PYTHON_9.3")
#arcpy.CalculateField_management(FC,"Non","RemoveNullInt(!Non!)","PYTHON_9.3")
#arcpy.CalculateField_management(FC,"NR","RemoveNullInt(!NR!)","PYTHON_9.3")
#arcpy.CalculateField_management(FC,"Resident","RemoveNullInt(!Resident!)","PYTHON_9.3")
#arcpy.CalculateField_management(FC,"Total","RemoveNullInt(!Total!)","PYTHON_9.3")
# for carbon county's requested etl
arcpy.CalculateField_management(FC,"SUF_DIR","RemoveNullString(!SUF_DIR!)", "PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"ALIAS1","RemoveNullString(!ALIAS1!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"ALIAS1_TYP","RemoveNullString(!ALIAS1_TYP!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"ALIAS2","RemoveNullString(!ALIAS2!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"ALIAS2_TYP","RemoveNullString(!ALIAS2_TYP!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"S_NAME","RemoveNullString(!S_NAME!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"PRE_DIR","RemoveNullString(!PRE_DIR!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"S_TYPE","RemoveNullString(!S_TYPE!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"ACS_ALIAS","RemoveNullString(!ACS_ALIAS!)","PYTHON", str(inspect.getsource(RemoveNullString)))
arcpy.CalculateField_management(FC,"SPD_LMT","RemoveNullInt(!SPD_LMT!)","PYTHON", str(inspect.getsource(RemoveNullInt)))
arcpy.CalculateField_management(FC,"L_F_ADD","RemoveNullInt(!L_F_ADD!)","PYTHON", str(inspect.getsource(RemoveNullInt)))
arcpy.CalculateField_management(FC,"L_T_ADD","RemoveNullInt(!L_T_ADD!)","PYTHON", str(inspect.getsource(RemoveNullInt)))
arcpy.CalculateField_management(FC,"R_F_ADD","RemoveNullInt(!R_F_ADD!)","PYTHON", str(inspect.getsource(RemoveNullInt)))
arcpy.CalculateField_management(FC,"R_T_ADD","RemoveNullInt(!R_T_ADD!)","PYTHON", str(inspect.getsource(RemoveNullInt)))
Features = arcpy.ListFeatureClasses()
for fc in Features:
print "Formatting: " + fc
formatFeatureClass(fc)
print "Scripting Complete"