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

Dúvida ao salvar arquivo csv

Ao usar o código: dataset.to_csv('./output/data/dataset.csv', sep=';', index=False, encoding='utf-8-sig') para salvar o arquivo csv recebo o seguinte erro: FileNotFoundError: [Errno 2] No such file or directory: './output/data/dataset.csv'

Ao usar dataset.to_csv('dataset.csv', sep=';', index=False, encoding='utf-8-sig') o arquivo é salvo na pasta do Jupyter.

Tentei outros endereços do meu PC e também recebi o erro anterior. Como realizar o save em uma pasta de minha escolha?

5 respostas

Olá Pedro,

O erro deve estar acontecendo porque as pastas ainda não existem, o pandas vai criar o arquivo mas ele não pode criar pastas, assim as pastas output e data já devem ser criadas (uma dentro da outra nesse caso) manualmente antes de executar.

Espero te ajudado, qualquer dúvida é só falar!

Bom dia Lucas,

Na verdade as pastas já existem dentro do meu computador sim.

É possível que o pandas não esteja encontrando pelo fato de eu ter feito o updload do notebook dentro de uma pasta no Jupyter?

Tentei o código com o endereço completo da pasta e também não obtive sucesso.

Pedro

solução!

Bom dia Pedro, talvez o problema seja a localização dessas pastas, mais exatamente em comparação com o que o pandas está considerando como a pasta base. Por exemplo, aqui eu tenho o arquivo do notebook (o .ipynb) salvo nesse caminho C:\Users\Peixoto\Documents\code\test, assim esse é o caminho base que o pandas considera, então executando o código abaixo:

df_A.to_csv('./backup/dados.csv')
# Ou
df_A.to_csv('backup/dados.csv')

O pandas vai tentar salvar o arquivo no caminho C:\Users\Peixoto\Documents\code\test\backup, que é formado pela pasta base + o caminho extra informado no to_csv


Eu também testei a alternativa que você falou de informar o caminho completo para ser bem específico, e também deu tudo certo aqui:

# Começando o caminho com c: faz o python entender que esse é
# um caminho absoluto, e então o arquivo vai ser salvo diretamente em
# "C:\backup"
df_A.to_csv('c:/backup/dados.csv')

# No linux pode ser feito o mesmo iniciando o caminho com "/"
df_A.to_csv('/home/lucas/dados.csv')

Isso deve ser apenas algum detalhe simples, não sei como você testou o endereço completo, mas tenta novamente com um endereço bem simples como c:/teste/dataset.csv, cria a pasta teste na raiz do disco e oha se dá certo.

O erro que apareceu ao tentar o endereço completo foi o FileNotFoundError também ou apareceu algum diferente? Compartilha aqui o erro.

Lucas,

Acredito que o erro com o endereço completo acontecia devido ao uso da barra " \ " que vinha quando eu copiava o endereço da pasta. Usando " / " o problema foi solucionado.

Obrigado

Ah, bom saber que deu certo!

Um detalhe sobre essa barra \ é que ela é utilizada para escapar um caractere dentro da string, então no python (e em muitas outras linguagens) você tem que utilizar uma barra extra para "escapar o escapamento", exemplo:

"C:\\Users\\Peixoto"