I am querying data from another Oracle database, doing some work on the data, geocoding it, then appending it to a feature class in our enterprise geodatabase. I use ArcSDESQLExecute(), then NumPyArrayToTable() to pass into GeocodeAddresses_geocoding(). However, during the NumPyArrayToTable() process, null values always come through as a text string 'None'. I tried changing None values to numpy.NaN but those just come through as a string 'nan'. My datatypes for my numpy array fields are all string. How do you deal with null values with NumPyArrayToTable()?
You can't... since the concept of <null> in the table is purely visual in a sense.
What I do when I have to bring stuff back into Pro or arcmap, then the first thing is to query for "None" the string... and do a field calculation to set them to <null>.
None is python is object, of which there is only one type and it has no real properties.
If you are unsure about None, you will notice that the array that is returned is an Object array and not an array of strings.
That is because None is NOT a subclass of string or anything else!
Just remember... you have to keep track of what you are doing. I personally hate the <null> thing since it removes some of the link between the user and their data. <null> should really be replaced with
< ..... hey you !!!! .... >
perhaps people will then not take None-ness for granted