1
resposta

Pipeline_dados

new_dados_csv = []

for old_dict in dados_csv:
    dict_temp = {}
    for old_key, value in old_dict.items():
        dict_temp[key_mapping[old_key]] = value
    new_dados_csv.append(dict_temp)
new_dados_csv[0

Quando faço esse codigo me aparece esse erro.

{
    "name": "KeyError",
    "message": "'Classificação do Produto'",
    "stack": "---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In [43], line 6
      4     dict_temp = {}
      5     for old_key, value in old_dict.items():
----> 6         dict_temp[key_mapping[old_key]] = value
      7     new_dados_csv.append(dict_temp)
      8 new_dados_csv[0]

KeyError: 'Classificação do Produto'"
}

Como arrumo isso? O nome do dado parece que está escrito errado

1 resposta

Olá Jefferson, tudo bem?

Esse erro de leitura da coluna Classificação do Produto é devido à leitura incorreta dos caracteres. Às vezes, o VS Code não utiliza a codificação UTF-8, o responsável por fazer a leitura corretamente dos caracteres especiais como, por exemplo, o ç.

Então para resolver esse problema, no código que se refere a leitura do arquivos csv basta adicionar enconding = 'utf-8'. O código ficaria assim, por exemplo:

with open(path_csv, 'r', encoding='utf-8') as file:
    dados_csv = file.readlines()

Feito isso execute novamente todo o seu código para que as alterações sejam salvas corretamente.

Espero que dê certo! Qualquer dúvida, compartilhe no fórum para podermos te auxiliar.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado