Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas e soluções ao rodar usando python3

Quando eu estava tentando fazer o exemplo da aula no python3, eu não estava conseguindo ler o arquivo de forma binária ('rb') e nem estava conseguindo pular a primeira linha usando leitor.next(). Assim consegui resolver os problemas da seguinte forma:

import csv

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

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

    leitor.__next__()

    for home, como_funciona, contato, comprou in leitor:
        X.append([int(home), int(como_funciona), int(contato)])
        Y.append(int(comprou))

    return X, Y

if(__name__ == '__main__'):
    X, Y = carregar_acessos()
    print(X)
    print(Y)

Obs: A condição if(name == 'main'): é apenas para executar a função no mesmo arquivo dela

1 resposta
solução!

Olá Glauber, tudo bem?

No Python3 tiveram algumas mudanças nas interfaces do método. Nos exercícios ele mostra como fazer nessa versão do Python.

No caso, seu código no Python3 ficará parecido com esse:

import csv

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

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

    next(leitor)

    for home, como_funciona, contato, comprou in leitor:
        X.append([int(home), int(como_funciona), int(contato)])
        Y.append(int(comprou))

    return X, Y

if(__name__ == '__main__'):
    X, Y = carregar_acessos()
    print(X)
    print(Y)