Usando o código abaixo, eu consigo ler um arquivo .csv e guardar os dados no Oracle. Mas somente se os campos não forem nulos. Se tiver um campo nulo, pelo menos, é exibida a mensagem. O que devo fazer?
import cx_Oracle
# Conexão com o banco de dados Oracle
connection = cx_Oracle.connect("SGE_CENSO/scenso203@exacc01-scan.pbh:1521/prd004.pbh")
import pandas as pd
caminho_do_arquivo = 'D:\\Prodabel\\SMED\\2023\\Censo Final\\TS_BH\\ts_censo_basico_gestor_pequeno.dat'
dados = pd.read_csv(caminho_do_arquivo, delimiter='|',header=None)
dados.head()
cursor = connection.cursor()
insert_query = "INSERT INTO TS_CENSO_BASICO_GESTOR_TESTE_PEQUENO (NU_ANO_CENSO,CO_PROJETO,CO_EVENTO,CO_PESSOA_FISICA) VALUES (:1, :2, nvl(:3,99), :4)"
for index, row in dados.iterrows():
# Execute o comando SQL com os valores da linha atual
print("Query:", insert_query)
print("Values:", tuple(row))
cursor.execute(insert_query, tuple(row))
# Faça commit e feche a conexão
connection.commit()
cursor.close()
connection.close()