import pandas as pd
import matplotlib.pyplot as plt
from sqlalchemy import create_engine, inspect, text
url_itens_pedidos = 'https://github.com/alura-cursos/SQL-python-integracao/raw/main/TABELAS/itens_pedidos.csv'
url_pedidos = 'https://github.com/alura-cursos/SQL-python-integracao/raw/main/TABELAS/pedidos.csv'
url_produto = 'https://github.com/alura-cursos/SQL-python-integracao/raw/main/TABELAS/produtos.csv'
url_vendedores = 'https://github.com/alura-cursos/SQL-python-integracao/raw/main/TABELAS/vendedores.csv'
itens_pedidos = pd.read_csv(url_itens_pedidos)
pedidos = pd.read_csv(url_pedidos)
produtos = pd.read_csv(url_produto)
vendedores = pd.read_csv(url_vendedores)
engine = create_engine('sqlite:///:memory:')
produtos.to_sql('produtos', engine, index = False)
itens_pedidos.to_sql('itens_pedidos', engine, index = False)
pedidos.to_sql('pedidos', engine, index = False)
vendedores.to_sql('vendedores', engine, index = False)
def sql_df (query):
with engine.connect() as conexao:
consulta = conexao.execute(text(query))
dados = consulta.fetchall()
return pd.DataFrame(dados, columns = consulta.keys())
query = '''SELECT VALOR_TOTAL, SUM(VALOR_TOTAL) AS Receita
FROM ITENS_PEDIDOS
'''
df_receita = sql_df(query)
df_receita
query = '''SELECT PRODUTOS.MARCA , COUNT (*) AS Pedidos
FROM ITENS_PEDIDOS, PRODUTOS
WHERE ITENS_PEDIDOS.PRODUTO_ID = PRODUTOS.PRODUTO_ID
GROUP BY PRODUTOS.MARCA
ORDER BY Pedidos DESC
LIMIT 15
'''
df_marcas = sql_df(query)
plt.barh(df_marcas['marca'], df_marcas['Pedidos'], color = '#9353FF')
plt.title(' Top 15 - Marcas mais vendidas')
plt.xlabel('Pedidos')
plt.gca().invert_yaxis()
plt.show()