Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro - Renomeando os campos

Bom dia! Ao tentar renomear os campos e criar a lista new_dados_csv apresentou um erro, poderiam me ajudar por gentileza? segue o codigo

#Fazendo o key_mapping
key_mapping = {'Nome do item': 'Nome do Produto',
                'Classificação do Produto':  'Categoria do Produto',
                 'Valor em Reais (R$)':  'Preço do Produto (R$)',
                 'Quantidade em Estoque':  'Quantidade em Estoque',
                 'Nome da Loja':  'Filial',
                  'Data da Venda':  'Data da Venda'}
key_mapping

#Resposta
{'Nome do item': 'Nome do Produto',
 'Classificação do Produto': 'Categoria do Produto',
 'Valor em Reais (R$)': 'Preço do Produto (R$)',
 'Quantidade em Estoque': 'Quantidade em Estoque',
 'Nome da Loja': 'Filial',
 'Data da Venda': 'Data da Venda'}
 
# For da criação da new_dados_csv
 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]

#Resultado
KeyError                                  Traceback (most recent call last)
Cell In[857], line 5
      3     dict_temp = {}
      4     for old_key, value in old_dict.items():
----> 5         dict_temp[key_mapping[old_key]] = value
      6     new_dados_csv.append(dict_temp)
      7 new_dados_csv[0]

KeyError: 'Nome do Item'
2 respostas
solução!

Oi Fernando, tudo bem?

O erro KeyError: 'Nome do Item' está ocorrendo porque na base de dados csv ela foi definida com letra maiúscula (Item), mas o seu keymapping você definiu como minusculo. Portanto, ele não consegue fazer essa correspondência.

O código deverá ser assim:

key_mapping = {'Nome do Item': 'Nome do Produto',
                'Classificação do Produto': 'Categoria do Produto',
                'Valor em Reais (R$)': 'Preço do Produto (R$)',
                'Quantidade em Estoque': 'Quantidade em Estoque',
                'Nome da Loja': 'Filial',
                'Data da Venda': 'Data da Venda'}
key_mapping

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Deu certo! obrigado!