Réunir deux fichier excel en un seul

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Alex Hatchondo
Messages : 5
Enregistré le : 30 Juin 2022, 08:42

Réunir deux fichier excel en un seul

Messagepar Alex Hatchondo » 01 Juil 2022, 08:03

Bonjour,

Pour le bien d'une enquête j'ai préalablement divisé un fichier excel en deux afin que mes deux collègues puissent travailler dessus sans être embêter. Chacun écrit des commentaires dans les lignes et j'aimerais maintenant réunir ces deux fichier en 1, de manière à ce que chacun des commentaires apparaissent. Pour illustrer mon propos : chaque fichier comporte les 10 mêmes lignes, seulement mon collègue A va remplir la ligne 1,2,5 et mon collègue B va remplir la ligne 7,8,9. J'aimerais donc obtenir un fichier comportant les commentaires des lignes 1,2,5,7,8 et 9.

Je ne trouve pas de solution car la fonction "merge" qui fait une fusion me créer des doublons. Impossible non plus d'utiliser "rbind" car celle-ci se contente de les cumuler si je puis dire seulement, chaque fichier comportant les mêmes lignes.

Je ne sais pas si je suis clair mais si quelqu'un à une idée je suis preneur.

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: Réunir deux fichier excel en un seul

Messagepar Gabriel Terraz » 01 Juil 2022, 09:58

Bonjour,

Si tes tableaux sont exactement les mêmes et que tu es certains que les cellules ne sont remplies que par l'une des deux personnes, tu peux faire ça :

(A partir des deux dataframes préalablement chargés)

Code : Tout sélectionner

A <- data.frame(col1 = c(1, 2, NA, NA, 5, NA, NA, NA, NA))
B <- data.frame(col1 = c(NA, NA, NA, NA, NA, NA, 7:9))

(C <- data.frame(col1 = ifelse(is.na(A$col1), B$col1, A$col1)))

Alex Hatchondo
Messages : 5
Enregistré le : 30 Juin 2022, 08:42

Re: Réunir deux fichier excel en un seul

Messagepar Alex Hatchondo » 01 Juil 2022, 14:47

Gabriel Terraz a écrit :Bonjour,

Si tes tableaux sont exactement les mêmes et que tu es certains que les cellules ne sont remplies que par l'une des deux personnes, tu peux faire ça :

(A partir des deux dataframes préalablement chargés)

Code : Tout sélectionner

A <- data.frame(col1 = c(1, 2, NA, NA, 5, NA, NA, NA, NA))
B <- data.frame(col1 = c(NA, NA, NA, NA, NA, NA, 7:9))

(C <- data.frame(col1 = ifelse(is.na(A$col1), B$col1, A$col1)))



Merci Gabriel, c'est un code que je n’oublierais pas (il fonctionne et est facile à utiliser !).
Malheureusement, j'aurais peut-être dû préciser que mon fichier contient au total plus de 3300 lignes, ce qui rend la tâche plus complexe !
Merci pour ta réponse.

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: Réunir deux fichier excel en un seul

Messagepar Gabriel Terraz » 01 Juil 2022, 15:38

Il va falloir préciser un peu ton souci car le nombre de lignes ne devrait pas changer le problème !

Alex Hatchondo
Messages : 5
Enregistré le : 30 Juin 2022, 08:42

Re: Réunir deux fichier excel en un seul

Messagepar Alex Hatchondo » 04 Juil 2022, 07:45

Pour te donner un exemple concret j'ai plus de 3000 lignes et mon collègue A à par exemple rempli la ligne 1,150,151,895,2742,3005 tandis que mon collègue B lui a rempli la ligne 8,9,782,1750,1962,2854,3001.

Avec ta technique :

A<- data.frame(col1 = c(1, NA 148 fois,151, NA jusqu’à 895... 3005)
B<- data.frame(col1 = c(NA,NA,NA,NA,NA,NA,NA,8 : 9, NA jusqu'à 781... 3001)

Ce qui serait très long, à moins que je ne soit passé à côté d'une subtilité.

Gabriel Terraz
Messages : 591
Enregistré le : 26 Sep 2011, 15:11

Re: Réunir deux fichier excel en un seul

Messagepar Gabriel Terraz » 04 Juil 2022, 08:44

Bonjour,
Effectivement, recopier les deux tableaux d'entrée à la main n'a peu d'utilité !
J'ai créé les dataframes A et B pour l'exemple, l'intérêt pour toi est seulement la ligne qui crée le dataframe C.
Il faut d'abord que tu charges tes deux tableaux excel (je pensais que ce point était ok pour toi).

Tu peux regarder du coté de la fonction read_excel() tu package readxl

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Réunir deux fichier excel en un seul

Messagepar Mickael Canouil » 05 Juil 2022, 21:17

Bonjour,

un exemple de code où il suffit de d'indiquer le dossier (path) où se trouve le ou les fichiers Excel (1 jusqu'à Infini).

Code : Tout sélectionner

library(readxl)
combined_xlsx_df <- do.call("rbind", lapply(
  X = list.files(
    path = "."# A modifier avec le bon chemin, par défaut le répertoire courant, c.-à-d., getwd()
    pattern = "\\.xlsx"
  ),
  FUN = read_xlsx
)) 


Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Gabriel Terraz, Google [Bot] et 1 invité