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

Problema CSV Python

Olá, rodei a função criada na aula 2 do curso de Machine Learning. Importo ela normalmenter mas quando chamo ela para dentro de duas variáveis retorna um erro dizendo "need more than 0 values to unpack". Alterei ela para imprimi dentro da função e não retornar, o conteúdo das variáveis foi impresso normalmente. Também adicionei um arquivo.close achando que poderia ser isso, mas nada também. Testei no windows e no linux(mint) ambos deram o mesmo erro. Testei o Python nas versões 2.7.3 no linux e 3.6.0 no windows Atenciosamente, André Gil

4 respostas

Opa André, blz? Pode mandar o código? Dessa forma fica mais fácil de identificar o problema que está acontecendo.

import csv

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

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

    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

esse é o código da função, chamo ela direto no console através de:

from dados import carregar_acessos
X, Y = carregar_acessos()
solução!

André,

Copiei o seu código e executei aqui, funcionou normalmente... Vou mostrar os arquivos junto com o código que usei:

acesso.csv

acessou_home,acessou_como_funciona,acessou_contato,comprou
1,1,0,0
1,1,0,0
1,1,0,0
1,1,0,0
1,1,0,0
1,0,1,1
1,1,0,0
1,0,1,1
1,1,0,0
1,0,1,1
1,1,0,1
1,0,1,1
0,0,1,0
0,0,1,0
0,0,1,0
0,0,1,0
0,0,1,0
0,1,0,0
0,0,1,0
0,1,0,0
0,0,1,0
0,1,0,0
0,0,1,0
0,1,0,0
1,0,1,1
1,1,1,1
1,1,1,1
1,0,1,1
0,1,0,0
0,0,1,0
0,1,0,0
1,0,1,1
0,0,1,0
1,0,1,1
1,0,1,1
1,0,1,1
1,0,1,1
0,0,1,0
1,1,0,0
1,0,1,1
0,1,0,0
0,0,1,0
0,1,0,0
1,0,1,1
0,0,1,0
0,0,1,0
1,0,1,1
1,0,1,1
1,1,0,0
1,1,0,0
1,1,0,0
1,1,0,0
1,0,1,1
1,1,0,0
1,0,1,1
1,1,0,0
1,0,1,1
1,1,0,0
1,0,1,1
0,0,1,0
1,0,1,1
0,1,0,0
0,0,1,0
0,1,0,0
1,0,1,1
0,1,1,1
0,0,1,0
1,0,1,1
1,0,1,1
1,1,0,0
1,1,0,0
0,0,1,0
0,0,1,0
0,0,1,0
0,0,1,0
0,1,0,0
0,0,1,0
0,1,0,0
0,0,1,0
1,1,0,1
0,0,1,0
0,0,1,0
0,0,1,0
1,0,1,1
1,0,1,1
1,1,0,0
1,1,0,0
0,0,1,0
0,0,1,0
1,0,1,1
1,0,1,1
1,1,0,0
1,1,0,0
0,0,1,0
0,0,1,0
1,1,1,1
0,0,1,0
0,1,0,0
0,0,0,0

dados.py

import csv

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

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

    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

main.py

from dados import carregar_acessos
X, Y = carregar_acessos()

print X
print Y

Resultado após execução:

[['acessou_home', 'acessou_como_funciona', 'acessou_contato'], ['1', '1', '0'], ['1', '1', '0'], ['1', '1', '0'], ['1', '1', '0'], ['1', '1', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['1', '0', '1'], ['1', '1', '1'], ['1', '1', '1'], ['1', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['1', '0', '1'], ['0', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['0', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['1', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '0'], ['1', '1', '0'], ['1', '1', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '0', '1'], ['0', '0', '1'], ['1', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['1', '0', '1'], ['0', '1', '1'], ['0', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '0'], ['0', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['0', '1', '0'], ['0', '0', '1'], ['1', '1', '0'], ['0', '0', '1'], ['0', '0', '1'], ['0', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '0'], ['0', '0', '1'], ['0', '0', '1'], ['1', '0', '1'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '0'], ['0', '0', '1'], ['0', '0', '1'], ['1', '1', '1'], ['0', '0', '1'], ['0', '1', '0'], ['0', '0', '0']]
[['comprou'], ['0'], ['0'], ['0'], ['0'], ['0'], ['1'], ['0'], ['1'], ['0'], ['1'], ['1'], ['1'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['1'], ['1'], ['1'], ['1'], ['0'], ['0'], ['0'], ['1'], ['0'], ['1'], ['1'], ['1'], ['1'], ['0'], ['0'], ['1'], ['0'], ['0'], ['0'], ['1'], ['0'], ['0'], ['1'], ['1'], ['0'], ['0'], ['0'], ['0'], ['1'], ['0'], ['1'], ['0'], ['1'], ['0'], ['1'], ['0'], ['1'], ['0'], ['0'], ['0'], ['1'], ['1'], ['0'], ['1'], ['1'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['0'], ['1'], ['0'], ['0'], ['0'], ['1'], ['1'], ['0'], ['0'], ['0'], ['0'], ['1'], ['1'], ['0'], ['0'], ['0'], ['0'], ['1'], ['0'], ['0'], ['0']]

Veja que foi de boa... Estou usando Linux versão Ubuntu 16.04 - Python 2.7.12. Provalmente, o que deu ruim foi o arquivo csv. Pode tentar verificar e testar novamente?

Olá, realmente era o csv que estava dando problema, alterei a primeira linha e rodou certinho, Muito obrigado Alex. Até mais!