Postagens

Mostrando postagens de março, 2020

Gravando dados de um arquivo CSV no Oracle utlizando Python e a biblioteca cx_Oracle

Tive uma certa complicação ao inserir dados no Oracle vindo de um arquivo CSV. O problema, é que o arquivo que vinha os dados tinha uma formatação diferente de UTF-8. Sempre que tentava gravar a linha vinda do arquivo dava o erro: UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position XX: ordinal not in range(128) Como cada caso é um caso, pode ser que ao abrir o arquivo com formatação UTF-8, funcione. Mas nem sempre. with open ( csv_file , encoding = 'utf-8' ) as csv_file : csv_reader = csv . reader ( csv_file , delimiter = ';' ) for lines in csv_reader : Porém meu caso foi mais específico. Não dava certo utilizando esse método. Após algum tempo pesquisando, descobri que era necessário abrir a conexão com o banco com as opções  encoding e  nencoding habilitadas com UTF-8. Segue o código: dsn_tns = cx_Oracle . makedsn ( hostname , portnumber , service_name ) con = cx_Oracle . connect ( user = 'us