splor-mg / postgresql-carga-despesa

0 stars 0 forks source link

Erros e Soluções #5

Open labanca opened 1 year ago

labanca commented 1 year ago

pandas.errors.IntCastingNaNError: Cannot convert non-finite values (NA or inf) to integer

https://stackoverflow.com/questions/21287624/convert-pandas-column-containing-nans-to-dtype-int

Colunas inteiras importando csv com campos vazios geram esse erro. A tabela fl_despesa_pgto possui valores nulos na coluna id_situação_op.

image

Para corrigir o dicionário usado para converter os tipos das colunas do dataframe para inteiros deve ser 'Int64' (com "i" maiúsculo) e não np.int64

labanca commented 1 year ago

ValueError: The ‘datetime64’ dtype has no unit. Please pass in ‘datetime64[ns]’ instead.

Para corrigir o dicionário usado para converter os tipos das colunas do dataframe para datetime deve ser 'datetime64[ns]' e não np.datetime64

labanca commented 1 year ago

Tempo de execução atual da carga: 7319 segundos.

Atualmente usando SqlAlchemy e df.to_sql(). Testar outras formas, inclusive ler linha a linha do csv e fazer inserts um a um na tabela criada (a criação tbm terá de mudar, usar o datapackage).