IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

rassembler des fichiers excel en un seul fichier excel


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 17
    Par défaut rassembler des fichiers excel en un seul fichier excel
    Bonjour a Tous,

    jai des fichiers ecxel, d'une feuille de calcul excel chacun, je voudrais rassembler ces fichiers dans un nouveau classeur excel (les fichiers excel deviendront des feuilles de calcul excel dans ce nouveau classeur). comment puis le faire avec R ?

    merci d'avance

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour , tu peux faire comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    library(dplyr)
    library(purrr) 
    library(readxl) 
    library(openxlsx) 
     
    ## on suppose que tous les fichiers xl sont dans 1 dossier , il n'y a que des fichiers xl et le dossier est le répertoire courant
    liste_xl <- dir("dossier")  
     
    ## fonction qui crée une nouvelle feuille  dans l'objet wx et ajoute les données ( x la feuille, y le fichier excel , source des données à intégrer dans la nouvelle feuille)
     
    ajouter <-function(x,y,wx){
     addWorksheet(wx,x) 
      writeData(wx,x,read_excel(y))
    }
     
    wx <- createWorkbook() ## création du fichier final xlsx
     
    ## fonction walk2 (voir doc du package purrr)
    ## on crée les feuilles et on les remplit
    ## premier argument nombres de 1 jusau'au  nombre de fichiers excel de départ , servira pour nommer les feuilles
    ## deuxième argument liste des fichiers excel
    ## troisième argument la fonction 
    ## quatrième argument le fichier final 
    ## la fonction parcourt les 2 premiers arguments et les appliquent à la fonction ajouter, wx étant identique
     
    walk2(1:length(liste_xl),liste_xl,ajouter,wx = wx)
     
    saveWorkbook(wx,'fichier_final.xlsx') ## enregistrement du fichier final

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    un peu mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    library(stringr)
    #...
    wx <- createWorkbook()
    ## les feuilles ajoutées auront pour nom le nom du fichier moins l'extension (attention le nom du fichier ne doit pas excéder une trentaine de caractères)
    ajouter <-function(x,wx){
      feuille=str_remove(x,"\\.[^\\.]+$")
      addWorksheet(wx,feuille) 
      writeData(wx,feuille,read_excel(x))
    }
    ## maintenant on utilise la  fonction walk car il n'y a plus qu'une liste à parcourir
      walk(liste_xl,ajouter,wx = wx)
      saveWorkbook(wx,'fichier_final2.xlsx')

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/07/2016, 13h22
  2. rassembler des boucles for en une seule
    Par callofduty dans le forum MATLAB
    Réponses: 17
    Dernier message: 25/01/2014, 01h37
  3. [XL-2003] Fusionner des fichiers Excel en un seul
    Par Vadorblanc dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2010, 20h58
  4. [XL-2003] Regrouper des fichiers Excel en un seul
    Par piercleo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/11/2010, 14h28
  5. [vbs] rassembler des fichiers txt en fichiers Xls
    Par Empty_body dans le forum VBScript
    Réponses: 10
    Dernier message: 27/02/2006, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo