Pessoal,
Lendo a documentação da biblioteca "csv", achei uma outra maneira de renomear as chaves, logo após a importação do "arquivo.csv", que acredito ser mais simples.
A classe "csv.DictReader" contém um parâmetro chamado "fieldnames", que é uma sequência. Quando o fieldnames é omitido, os valores na primeira linha do "arquivo.csv" são usados como nome dos campos. Porém, podemos determinar os nomes das colunas ao preencher este parâmetro.
Dado o fato de que sabemos os nomes das colunas, basta informarmos os nomes que gostaríamos que fossem usados, no momento de montar o dicionário.
Exemplo:
spamreader = csv.DictReader(file_b, fieldnames = ('Nome do Produto', 'Categoria do Produto', 'Preço do Produto (R$)', 'Quantidade em Estoque', 'Filial', 'Data da Venda'), delimiter = ',')`
ou, outra forma de inserir o parâmetro após a construção do "csv.DictReader":
spamreader = csv.DictReader(file_b, delimiter = ',')
spamreader.fieldnames = 'Nome do Produto', 'Categoria do Produto', 'Preço do Produto (R$)', 'Quantidade em Estoque', 'Filial', 'Data da Venda'
Lembrando que existe um porém. Ao informar os fieldnames, a 1ª linha do "arquivo.csv" será inserida como item, em vez de ser utilizada como colunas. Para contornar isso, usei um IF dentro do FOR, antes de fazermos o append na lista.
Eis o código final:
dados_csv = []
with open(path_csv, 'r') as file_b:
spamreader = csv.DictReader(file_b, fieldnames = ('Nome do Produto', 'Categoria do Produto', 'Preço do Produto (R$)', 'Quantidade em Estoque', 'Filial', 'Data da Venda'), delimiter = ',')
#spamreader.fieldnames = 'Nome do Produto', 'Categoria do Produto', 'Preço do Produto (R$)', 'Quantidade em Estoque', 'Filial', 'Data da Venda'
for row in spamreader:
if row['Nome do Produto'] == 'Nome do Item':
pass
else:
dados_csv.append(row)
É isso. Fica aí uma sugestão. :-)