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

Problema com a execução do código da aula 2

Bom dia, não estou conseguindo compilar meu programa, vou enviar o código aqui e o erro:

import csv

def carregar_acessos():

X = [] Y = []

arquivo = open('acesso.csv', 'rb') leitor = csv.reader(arquivo.read().decode('utf-8'))

next(leitor)

for home,como_funciona,contato,comprou in leitor:

dado = [int(home), int(como_funciona), int(contato)] X.append(dado) Y.append(int(comprou))

return X, Y

def carregar_buscas():

X = []; Y = []; arquivo = open('busca.csv', 'rb') leitor = csv.reader(arquivo.read().decode('utf-8')) next(leitor) for home,busca,logado,comprou in leitor: dado = [int(home), busca, int(logado)] X.append(dado) Y.append(int(comprou))

return X,Y


A mensagem que aparece é a seguinte:

C:\Users\Simon\AppData\Local\Programs\Python\Python36\python.exe C:/Users/Simon/PycharmProjects/aluratestee/classifica_acessos.py Traceback (most recent call last): File "C:/Users/Simon/PycharmProjects/aluratestee/classifica_acessos.py", line 7, in X,Y = carregar_acessos() File "C:\Users\Simon\PycharmProjects\aluratestee\dados.py", line 13, in carregar_acessos for home,como_funciona,contato,comprou in leitor: ValueError: not enough values to unpack (expected 4, got 1)

Process finished with exit code 1

2 respostas
solução!

Olá Wallace, tudo bem?

Como você está utilizando o Python3, você não precisa passar o parâmetro b na função open:

import csv

def carregar_acessos():
    X = []
    Y = []

    arquivo = open('acesso.csv', 'r')
    leitor = csv.reader(arquivo)

    next(leitor)

    for acessou_home,acessou_como_funciona,acessou_contato, comprou in leitor:

        X.append([acessou_home,acessou_como_funciona,acessou_contato])
        Y.append(comprou)

    return X, Y

Deu certo, muito obrigado.