Free Trial

Fórum

SOLUCIONADO

Código R para verificar existência de um arquivo

DiegoServulo
Meteoro

Boa noite.

 

Eu estou precisando de uma função que me indicasse se um arquivo existe ou não.

Para isso tentei usar programação em R para fazer essa análise. Mas como nunca usei essa linguagem estou tendo algumas dificuldades.

 

O código que escrevi na ferramenta R foi:

 

dados <- read.Alteryx("#1", mode="data.frame")

arquivo <- dados$Arquivo

if (file.exists(arquivo))
{
write.Alteryx(arquivo,1)
}

 

O erro apresentado foi: Error: R (3): Error in file.exists(arquivo) : invalid 'file' argument

 

Obs.: Mesmo que exista um meio mais fácil de fazer esta consulta, gostaria de saber o porque esse código não funcionou.

 

Projeto modelo em anexo.

 

Se alguém puder me ajudar, agradeço.

  • E
3 RESPOSTAS 3
damc
Bólide

Olá @DiegoServulo, tudo bem?

 

Creio que este erro está acontecendo porque o R lê a sua coluna Arquivo como "Factor" e o file.exists()  só aceita "character" como entrada. Isso deve resolver:

 

arquivo <- as.character(dados$Arquivo)

 

Quanto à clausula if do código, acho não vai funcionar porque o retorno do file.exists() é um vetor lógico de tamanho maior que 1. Uma possível solução seria apendar esse retorno como uma coluna no seu dataframe e filtrar os valores verdadeiros para conseguir o resultado que vc precisa.

 

Segue proposta em código:

 

dados <- read.Alteryx("#1", mode="data.frame")

arquivo <- as.character(dados$Arquivo)

dados$Existe <- file.exists(arquivo)

resultado <- dados[dados$Existe==TRUE,]

write.Alteryx(resultado, 1)

 

Segue em anexo o fluxo com o código acima. Espero que te ajude.

 

[ ]´s

 

 

DiegoServulo
Meteoro

Muito obrigado @damc, era exatamente o que eu estava precisando.

 

Abraço

FláviaB
Alteryx Community Team
Alteryx Community Team

Obrigada pela ajuda, @damc

Flávia Brancato
Rótulos