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

ValueError: not enough values to unpack (expected 3, got 2)

Está aprensentando um erro mesmo eu usando exatamente a mesma programação que o professor.

Segue erro.

Traceback (most recent call last): File "C:/Users/d.rodrigues.antunes/Desktop/Estudos/Python/projetodoc/principal.py", line 4, in contatos_uteis.csv_para_contatos('dados/contatos.csv') File "C:\Users\d.rodrigues.antunes\Desktop\Estudos\Python\projetodoc\contatos_uteis.py", line 12, in csv_para_contatos id, nome, email = linha ValueError: not enough values to unpack (expected 3, got 2)

import csv, pickle, json
from contato import Contato


def csv_para_contatos(caminho, encoding='latin_1'):
    contatos = []

    with open(caminho, encoding=encoding) as arquivo:
        leitor = csv.reader(arquivo)

        for linha in leitor:
            id, nome, email = linha

            contato = Contato(id, nome, email)
            contatos.append(contato)

    return contatos


def contatos_para_pickle(contatos, caminho):
    with open(caminho, mode='wb') as arquivo:
        pickle.dump(contatos, arquivo)

def pickle_para_contatos(caminho):
    with open(caminho, mode='rb') as arquivo:
        contatos = pickle.load(arquivo)

    return contatos


def contatos_para_json(contatos, caminho):
    with open(caminho, mode='w') as arquivo:
        json.dump(contatos, arquivo, default=_contato_para_json)

def _contato_para_json(contato):
    return contato.__dict__

def json_para_contatos(caminho):
    contatos = []

    with open(caminho) as arquivo:
        contatos_json = json.load(arquivo)

        for contato in contatos_json:
            c = Contato(**contato)
            contatos.append(c)

    return contatos
1 resposta
solução!

Oi Dandara, tudo bem?

Segundo este log de erro, o problema é que era esperado 3 argumentos, mas somente dois estão sendo passados, dentro do for da função csv_para_contatos. Confira por favor se seu arquivo: contatos.csv está organizado desta maneira:

1,Guilherme,guilherme@guilherme.com.br
2,Elias,elias@elias.com.br
3,Gabriel,gabriel@gabriel.com.br
4,Anderson,anderson@anderson.com.br
5,Alex,alex@alex.com.br
6,Vini,vini@vini.com.br
7,Letícia,leticia@leticia.com.br
8,Giulia,giulia@giulia.com.br
9,Felipe,felipe@felipe.com.br
10,Luísa,luisa@luisa

Caso esteja desta forma e ainda ocorra o erro, peço por gentileza que suba a pasta com todo o seu código no drive e poste o link da pasta aqui para que possamos analisar/testar e sermos mais assertivos quanto ao erro.

Fico no aguardo.