जिस कोड को मैं पहले कोशिश कर रहा था वह विफल हो जाता है क्योंकि यह मानता है कि np.Nan इसका अपना प्रकार है जब यह वास्तव में एक फ्लोट होता है। निम्न कोड, के सौजन्य से psycopg2 मेलिंग सूची , कार्य सही ढंग से करता है।
def nan_to_null(f,
_NULL=psycopg2.extensions.AsIs('NULL'),
_Float=psycopg2.extensions.Float):
if not np.isnan(f):
return _Float(f)
return _NULL
psycopg2.extensions.register_adapter(float, nan_to_null)