Hello everyone, I am getting error while printing the "INSTALLATIONDATE" & "MEASUREDLENGTH". MEASUREDLENGTH is having double datatype & INSTALLATIONDATE is having date data type. Could you please check my complete code?
Below is my code:
import arcpy
from datetime import datetime
arcpy.env.workspace = "D:\Pipe\map.gdb"
featureClass_1 = "P_Pipes"
Table_Pipe = "Pipe_Risk"
fieldNames_1 = [ "Material" , "OPERATINGPRESSURE" , "MEASUREDLENGTH" , "INSTALLATIONDATE", "Risk_Score"]
fieldNames = ["Material" , "OPERATINGPRESSURE" , "MEASUREDLENGTHLOWERLIMIT" ,"MEASUREDLENGTHUPPERLIMIT" , "INSTALLATIONDATELOWERLIMIT" , "INSTALLATIONDATEUPPERLIMIT" , "OVERALLRISKSCORE"] #Lookup table
def Pipe_Risk_Score(Material, OPERATINGPRESSURE, MEASUREDLENGTH, INSTALLATIONDATE):
Case: Material
Material_where_Clause = "Material = " + Material
Table_Pipe_Cursor = arcpy.da.SearchCursor(Table_Pipe, ["Material" , "OVERALLRISKSCORE"],Material_where_Clause)
for row in Table_Pipe_Cursor:
Material_Risk_Score = row[1]
print Material_Risk_Score
Case: Operating Pressure
OP_Out_fields = ["OPERATINGPRESSURE" , "OVERALLRISKSCORE"]
OP_where_Clause = "OPERATINGPRESSURE = " + OPERATINGPRESSURE
Table_Pipe_Cursor = arcpy.da.SearchCursor(Table_Pipe, OP_Out_fields, OP_where_Clause)
for row in Table_Pipe_Cursor:
OPERATINGPRESSURE_Risk_Score = row[1]
print (OPERATINGPRESSURE_Risk_Score)
Case: ML
ML_Out_fields = ["MEASUREDLENGTHLOWERLIMIT" ,"MEASUREDLENGTHUPPERLIMIT" , "OVERALLRISKSCORE"]
ML_where_Clause = "MEASUREDLENGTHLOWERLIMIT <= " + MEASUREDLENGTH + " and MEASUREDLENGTHUPPERLIMIT >= " + MEASUREDLENGTH
print ML_where_Clause
#Not giving me output after Print (ML_where_Clause)
Table_Pipe_Cursor = arcpy.da.SearchCursor(Table_Pipe, ML_Out_fields, ML_where_Clause)
for row in Table_Pipe_Cursor:
MEASUREDLENGTH_Risk_Score = row[2]
print MEASUREDLENGTH_Risk_Score #No output of this print function
Case: ID
INSTALLATIONDATE = datetime.strptime("1935-01-01 " ,"%Y-%m-%d")
ID_Out_fields = ["INSTALLATIONDATELOWERLIMIT" , "INSTALLATIONDATEUPPERLIMIT" , "OVERALLRISKSCORE"]
ID_where_Clause = "INSTALLATIONDATELOWERLIMIT <= datetime(1935-01-01 ) and INSTALLATIONDATEUPPERLIMIT >= datetime(2035-01-01 )"
Table_Pipe_Cursor = arcpy.da.SearchCursor(Table_Pipe, ID_Out_fields, ID_where_Clause)
for row in Table_Pipe_Cursor:
ID_Risk_Score = row[2]
print (ID_Risk_Score) # Error: Unconverted data remains:
#Final_Risk_Score = (Material_Risk_Score + OP_Risk_Score + ML_Risk_Score + ID_Risk_Score)/4
#Pipe_Risk_Score(Material , OPERATINGPRESSURE , MEASUREDLENGTH , INSTALLATIONDATE) # Showing me Name error using this line without quotes
Pipe_Risk_Score("Material" , "OPERATINGPRESSURE" , "MEASUREDLENGTH", "INSTALLATIONDATE")