1
resposta

erro em: dados, marcacoes = carregar_acessos()

to usando o python3.10.4 vi algumas pessoas falando sobre esse erro e como eles fizeram eu removi o 'b' de "open('acesso.csv','rb') e também adicionei "next(leitor)"

import csv
def carregar_acessos():

    dados = []
    marcacoes = []

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

    for acessou_home, acessou_como_funciona, acessou_contato, comprou in leitor:
        dados.append([acessou_home, acessou_como_funciona, acessou_contato])
        marcacoes.append(comprou)
    return dados, marcacoes

erro:

File "", line 1, in File "C:\Users\ninop\PycharmProjects\classificacao.py\dados_site.py", line 9, in carregar_acessos next(leitor) _csv.Error: iterator should return strings, not bytes (the file should be opened in text mode)

obs: essa linha 9, mesmo que não tenha nada retorna o mesmo erro:

File "", line 1, in File "C:\Users\ninop\PycharmProjects\classificacao.py\dados_site.py", line 9, in carregar_acessos

_csv.Error: iterator should return strings, not bytes (the file should be opened in text mode)

print da tela

1 resposta

Olá, Gabriel! Tudo bem com você?

Desculpas pela demora em retornar.

Analisando o código presente na imagem não foi possível encontrar o erro que pode estar causando o problema enfretado por você.

Um dos possíveis motivos que podem está causando isso é que você executou o comando python no terminal do PyCharm e realizou o import da função carregar_acessos() normalmente com o comando from dados_site import carregar_acessos ainda sem as alterações mencionadas por você, que são a remoção do 'b' de open('acesso.csv','rb') e também a adição do next(leitor). Aí você realizou as alterações mencionadas, fez novamente o import com from dados_site import carregar_acessos porém não reiniciou o ambiente python que você está, dessa forma as alterações feitas não estão valendo ainda.

Para solucionar isso você pode primeiro sair da sessão python que você iniciou, para fazer isso execute o comando exit() no próprio terminal. Agora inicie uma nova sessão python e realize o import novamente (from dados_site import carregar_acessos). Dessa forma as alterações feitas por você estarão valendo.

Verifique se essa solução resolve o problema encontrado por você. Caso ainda continue a apresentar erros, você poderia nos encaminhar seu código para sermos mais assertivos na resposta. Pode upar em um drive e nos encaminhar o link, por exemplo.

Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição.

:)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!