Free Trial

Fórum

SOLVED

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

DiegoServulo
7 - Meteor

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 REPLIES 3
damc
11 - Bolide

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
7 - Meteor

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
Labels