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

O Pandas não consegue encontrar o arquivo

Logo no início da aula o pandas não consegue encontrar o arquivo aluguel_residencial.csv Ele retorna o erro:

FileNotFoundError: [Errno 2] No such file or directory: 'dados/aluguel_residencial.csv'

Porém no Jupyter o arquivo está no exato endereço indicado, funcionando normalmente (abri pelo Jupyter e pelo Excel) suspeito que possa ser devido a aula anterior termos modificado este arquivo, mas não há nada que fiz de diferente do professor. Tentei duplicar o arquivo e ler a cópia mas continua sem conseguir ler.

Correção: Descobri o que era, tinha acabado de criar o notebook Criando Novas Variáveis na Pasta Extas ao invés da Curso Pandas, porém por que neste caso não foi possível para o Jupyter encontrar o arquivo?

5 respostas

Oi Marcel! Tudo bom contigo?

Que bom que você encontrou a solução para o problema ^^

O Jupyter precisava da especificação correta do local da pasta, ao dizer que o programa deveria ler 'dados/aluguel_residencial.csv' você estava indicando ao algoritmo que a partir do local em que ele se encontra, existe uma pasta chamada dados e dentro dela, o arquivo chamado aluguelresidencial.csv. Na ausência da pasta dados onde o código estava sendo executado, o Jupyter acusou erro, pois sem uma direção correta ao arquivo o compilador não consegue fazer nada :/

Eu espero ter te ajudado! Se surgir outra dúvida estarei à disposição.

Bons estudos!

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

Oi Mirla, tudo bem? Desculpa a demora. Neste caso eu usei o endereço correto do arquivo que queria encontrar (Projetos Python/ Curso Pandas/ dados), o que me deixou confuso é que a criação do notebook foi feita em endereço diverso (criei na pastas Extras que fica neste endereço: (Projetos Python/ Curso Pandas/ Extras), porém quando transferi o notebook para (Projetos Python/ Curso Pandas), seria o caso da necessidade do notebook estar em local onde é menos específico que os dados? Exemplo: Notebook: Projetos Python/ Curso Pandas Dados: Projetos Python/ Curso Pandas/ dados

E quando criamos ele em especificação que não está contida na mesma dos dados ocorre erro? Exemplo: Notebook: Projetos Python/ Curso Pandas/ Extras Dados: Projetos Python/ Curso Pandas/ Dados

Para arrumar este exemplo acima seria: Notebook: Projetos Python/ Curso Pandas/ Extras Dados: Projetos Python/ Curso Pandas/ Extras/ Dados

solução!

Oi Marcel! Tudo ótimo e com você?

Obrigada pela explicação, acredito que entendi a situação melhor. Você não tem que sempre deixar o arquivo Python e a base de dados no mesmo diretório, ou sempre manter em pastas sucessivas. Isso é algo recomendado, pois essa organização facilita no momento da escrita e compartilhamento do código. Vou explicar aqui diferentes formas de se chamar um arquivo qualquer baseando nos exemplos que você me apresentou, beleza? Montei um diagrama que mostra uma melhor visualização da ordem de diretórios presentes no Jupyter e os arquivos presentes nas pastas:

Alt text: Diagrama de blocos organizados em 4 níveis de profundidade. O 1° nível tem um bloco branco retangular com o nome Projetos Python com uma seta apontando para um bloco branco retangular de 2° nível com o nome Curso Pandas. A partir desse bloco, saem três setas que apontam para três blocos do 3° nível, o 1° bloco desse nível é branco e retangular com o nome Extras, o 1° bloco tem um formato ondular e de cor azul claro com o nome Arquivo Python 1, o 3° bloco tem formato retangular e de cor branca com o nome Dados. Apenas do 1° e do 3° bloco que saem setas apontando para blocos do 4° nível. A seta do bloco Extras, aponta apenas para um bloco de 4° nível em formato ondulado de cor azul com nome Arquivo Python 2. A partir do bloco Dados, saem duas setas que apontam para 2 blocos, o 1° bloco tem formato ondulado de cor azul com nome Arquivo Python 3, o 2° bloco tem formato cilíndrico e de cor amarela com o nome Banco de Dados.

Quando vamos informar qual banco de dados utilizar teremos três opções a seguir, a primeira, que é a mais recomendada, pode ser utilizada quando o local do banco de dados está em uma pasta presente no mesmo diretório do arquivo de código, representado pelo Arquivo Python 1. Para esse caso, indicamos o caminho para seguir a partir do local que se encontra o arquivo de código:

df = pd.read_csv('Dados/Banco_de_Dados.extensao')

Isso é feito dessa forma, pois nessa estrutura, é coletado o diretório do próprio arquivo de código e só adicionado o restante das informações de local.

O segundo caso é bem similar ao primeiro, ele surge quando o código está no mesmo local do banco de dados, caso representado pelo Arquivo Python 2 no diagrama, para ele basta apenas colocar o nome do arquivo a ser utilizado com sua extensão:

df = pd.read_csv('Banco_de_Dados.extensao')

O motivo para essa forma é o mesmo do anterior, o diretório do arquivo de código é coletado e só é adicionado a informação de qual arquivo pegar.

Já o último caso, é aplicado ao Arquivo Python 3, nele não há mais a opção de continuar a partir do diretório em que o código está presente para acessar o banco de dados. Para esse caso, não é necessário alterar o local do Arquivo Python 3 ou adicionar uma cópia do banco de dados ao diretório. É possível acessar o arquivo Banco de Dados definindo todo o caminho de diretórios desde o driver para a chegada nesse arquivo. Esse caminho pode ser obtido no Jupyter selecionando o arquivo do banco de dados e clicando em Move:

Alt text: Pasta do Jupyter que contém arquivos aluguel.csv e aluguel_residencial.csv. Um retângulo de contorno vermelho e sem preenchimento destaca a caixa do aluguel_residencial.csv selecionada. Uma seta vermelha sai do retângulo vermelho e aponta para o botão Move.

A janela que aparece indica todo o caminho para acesso ao arquivo selecionado:

Alt text: Janela Move an Item do Jupyter com um retângulo de contorno vermelho sem preenchimento destacando o caminho C:\Users\Mirla e /Projetos Python/Curso Pandas/Dados

Copiamos todo o caminho mostrado (desde o driver C:) e alteramos as barras para manter o padrão “/”:

df = pd.read_csv('C:/Users/Mirla/Projetos Python/Curso Pandas/Dados/Banco_de_Dados.extensao')

Esse exemplo permite que, independente do local que o Arquivo Python estiver, sempre será possível acessar o arquivo de dados. Por ser algo que dá mais trabalho de fazer e o caminho de cada arquivo pode mudar de uma máquina para outra, esse método não é muito recomendado, mesmo sendo útil.

Portanto, se a pasta Projetos Python será compartilhada, alterar o local do arquivo Python do 3° caso para utilizar os métodos do 1° e 2° caso é uma boa opção, caso não, é tranquilo utilizar o método do terceiro caso ;-)

Eu espero que essa explicação tenha te ajudado no entendimento. Se a dúvida persistir peço que, por favor, informe aqui para que eu possa te ajudar da melhor forma possível.

Bons estudos!

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

Obrigado Mirla Borges :D Você é demais!!

Imagina! Fico feliz por ter ajudado ^^