💰💌 Si tu te procures un abonnement d'un an au forfait premium de Oui, mais je LLM d'ici le 30 novembre, je t'offre en prime mes quatre formations autodidactes, une valeur de 276 $ ! Clique ici !" 💰💌

Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

Télécharger et manipuler des fichiers avec R - Vidéo

- 244 mots - Temps de lecture estimé: 1 minute

Exemple pratique de téléchargement et manipulation de fichiers avec R, incluant le logo de R et les coordonnées des réseaux sociaux.

Je vous présente aujourd’hui un tutoriel pour télécharger et manipuler des fichiers avec R.

Dans le cadre de la thématique sur la santé mentale que j’ai établie pour le mois de novembre, je cherche des données sur le sujet dans le contexte canadien. L’entreprise LifeWorks publie mensuellement une rapport sur la santé mentale en entreprise.

Cependant, les fichiers sont difficiles à trouver pour les mois passés. Comme les URL ont toutes un format séquentiel, j’utilise le langage R pour télécharger les fichiers joints au site web, identifier le bon format de contenu et les renommer avec la bonne extension.

J’inclus un exemple pratique où je télécharge des documents variés depuis un site web et je renomme les fichiers avec la bonne extension selon leur contenu.
Je fais appel aux librairies tidyverse, stringr et here.

Voici le code source utilisé dans le vidéo. Notez qu’il n’a été testé que sur Linux. Il pourrait fonctionner sur macOS. Cependant, il ne fonctionnera pas sur Windows.

Je recommande de toute façon d’utiliser Linux pour manipuler des fichiers avec R !

###
### Extraction des fichiers joints du site de LifeWorks 
### pour ensuite identifier tous les PDF
### Auteur: François Pelletier
### Date: 30 octobre 2021
###

library("tidyverse") library("here")

# Création du répertoire

dir.create("./pdf")

# Liste de fichiers

nb <- 1159:1

# Télécharger tous les fichiers

for (i in nb) {
  url <- paste0("https://lifeworks.com/media/",
                i,
                "/download")
  print(url)
  try({
    download.file(url,
                  destfile = paste0("pdf/", i, ".pdf"),
                  method = "libcurl")
  })
  Sys.sleep(0.25)
}

# Déterminer quels fichiers sont des PDF

pdfinfo <- data.frame(pdfnames =
                        list.files(paste0(here::here(),
                                          "/pdf"),
                                   full.names = TRUE))

pdfinfo %>%
  mutate(
    system2.args = paste("-b", pdfnames),
    filetype.raw = system2(
      command = "file",
      args = system2.args,
      stdout = TRUE
    ),
    file.format = str_replace(filetype.raw,
                              "^(\\w+)(?=\\s.*).*",
                              "\\1")
  ) -> pdfinfo2

# Fréquence de chacun des types de fichiers

table(pdfinfo2$file.format)

# Renommer les fichiers avec les bonnes extensions

extfix <- data.frame(
  file.format =
    c("JPEG", "MPEG", "PDF", "PNG", "SVG"),
  file.extens =
    c("jpg", "mp4", "pdf", "png", "svg")
)

pdfinfo2 %>%
  inner_join(extfix,
             by = c("file.format" = "file.format")) %>%
  mutate(newname = str_replace(pdfnames,
                               "^(.*)(?=pdf$)(pdf$)",
                               paste0("\\1",
                                      file.extens))) ->
  pdfinfo3

res.rename <- file.rename(pdfinfo3$pdfnames,
                          pdfinfo3$newname)

Vous avez de nombreux documents et vous aimeriez les transformer en données structurées ? Vous avez un besoin d’extraction de données depuis un site web ? Je peux vous aider !

Commençons par une Consultation Express pour établir une stratégie !

Réserver une consultation express !

Shooting Stars IconConsultation ExpressShooting Stars Icon

Bénéficie d'une heure de consultation dédiée avec François pour résoudre tes défis informatiques et stratégiques. Que ce soit pour la migration vers des technologies libres, la sécurisation de tes systèmes, la documentation de tes procédures, la conception de petits systèmes ou l'automatisation de tâches, cette session intensive t'offre des solutions concrètes et un plan d'action clair.

Tu seras libre ensuite de poursuivre avec un forfait de consultation sur mesure ou les programmes DéconstruIT ou Pleine Confiance

Découvre la Consultation Express.
Abonne-toi au fil RSS pour ne rien manquer.

Étiquettes