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

Problemas com o Iterador

Olá, eu estou com o seguinte código:

import csv

def carregar_acessos():

    X = []
    Y = []

    arquivo = open('acesso_pagina.csv', 'rb')
    leitor = csv.reader(arquivo)
    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)])

Ele tenta retirar informações de um arquivo CSV contendo vários ZEROS e UNS. E tenho outro arquivo que mostra isto no terminal:

from dados import carregar_acessos

X,Y = carregar_acessos()

print(X)
print(Y)

Porém quando eu rodo o código o seguinte erro aparece:

Traceback (most recent call last):
      File "classifica_acesso.py", line 3, in <module>
        X,Y = carregar_acessos()
      File "/Users/josecarlosferreira/Desktop/machine-learning/dados.py", line 10, in carregar_acessos
        next(leitor)
    _csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)

Bem, vi algumas respostas no Stackoverflow em Inglês, porém mesmo tentando as soluções lá propostas o código não funcionava e continuava mantendo o mesmo erro.

Alguém poderia me ajudar?

1 resposta
solução!

Já reparei o que estava errado. Esqueci de dar RETURN no X e Y.