在Python Pandas中将NaN转换为Oracle null

2024-10-01 17:26:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在执行下面的函数时得到这个错误,这是因为试图将NaN插入到数值列中。在整个过程中将NaN替换为0确实有效,但用None替换则不行。任何想法都将不胜感激

def insertData(table_name, schema_name, df):
    if not df.empty:

        #input_data[file].fillna(0, inplace=True) # This works but replacing with 0's is not ideal
        df.where(pd.notnull(df), None) #This does not work
        values = df.to_dict(orient='records')
        table = sa.Table(table_name , conndict['meta'], autoload=True, schema=schema_name)
        result_proxy = conndict['conn'].execute(table.insert(), values)
        return result_proxy
    else:
        return None

(cx_Oracle.DatabaseError) DPI-1055: value is not a number (NaN) and cannot be used in Oracle numbers


Tags: namenonetruedfreturnisschematable

热门问题