-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathetl.py
29 lines (22 loc) · 1006 Bytes
/
etl.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import csv
from collections import defaultdict
path_arquivo = "produtos.csv"
#Função que ler um arquivo CSV e retorna uma lista de dicionários.
def ler_csv(nome_do_arquivo_csv: str) -> list[dict]:
codificacoes = ['utf-8', 'ISO-8859-1', 'cp1252']
lista = []
with open(nome_do_arquivo_csv, mode="r") as arquivo:
leitor = csv.DictReader(arquivo)
for linha in leitor:
lista.append(linha)
return lista
# Função para calcular o total de vendas por categoria
def calcular_vendas_categoria(lista: list[dict]) -> dict:
vendas_por_categoria = defaultdict(float) # Inicializa com 0.0 por padrão
for item in lista:
categoria = item['Categoria']
quantidade = int(item['Quantidade'])
preco = float(item['Preco'].replace(',', '.'))
total_venda = quantidade * preco
vendas_por_categoria[categoria] += total_venda
return dict(vendas_por_categoria) # Converte defaultdict para dict