sql >> Databáze >  >> RDS >> PostgreSQL

Jak převedu numpy NaN objekty na SQL null?

Kód, který jsem předtím zkoušel, selže, protože předpokládá, že np.Nan je jeho vlastní typ, i když je to ve skutečnosti float. Následující kód, courtesy na adrese Danielerazzo Vartesy psycopg2 mailing list , dělá práci správně.

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)


  1. Rozdělte hodnoty oddělené čárkou do jednotlivých řádků

  2. Vložit do výběru a aktualizovat v jediném dotazu

  3. Dezinfikuji/uteču správně?

  4. ORA-02267:typ sloupce není kompatibilní s odkazovaným typem sloupce