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 :

Fusionner deux onglets d'un même fichier excel


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut Fusionner deux onglets d'un même fichier excel
    Bonjour !

    J'ai une question qui parait toute bête, mais pas si simple :

    Savez vous comment je pourrai fusionner deux onglets d'un même fichier excel .. Mes deux onglets comportent un tableau. J'aimerai que ces deux tableau soient côte à côte

    Je pensais utiliser la fonction merge() mais ça ne fonctionne pas comme je veux.. Imaginons que mon 1er onglet s'appelle "L1" et le 2nd "L2"

    je pensais écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    merge(data$L1,data$L2, by(by.x="Identifiant", by.y="Identifiant")
    bref ca ne marche pas , en fait je ne sais pas comment on fait pour saisir un onglet ..

    Avez vous une idée ?

    Merci

  2. #2
    Inactif  
    Profil pro
    " "
    Inscrit en
    Janvier 2008
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : " "

    Informations forums :
    Inscription : Janvier 2008
    Messages : 330
    Par défaut
    Bonjour,

    Et si vous utilisez la fonction read.xls du package gdata pour lire votre fichier EXCEL ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    L1 <- read.xls(Mesdonnees, sheet=1) # 1er onglet --> sheet=1
    L2 <- read.xls(Mesdonnees, sheet=2) # 2e onglet --> sheet=2
    Mydata <- merge(data$L1,data$L2, by.x="Identifiant", by.y="Identifiant")
    Au passage, il y a une parenthèse de trop (ou de moins) dans votre ligne de code.
    BC

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut
    J'ai comme message d'erreur : "impossible de trouver la fonction read.xls"

    dans quel package la trouve t on ? Je pensais que c'était dans gdata mais ça ne marche toujours pas une fois ce package installé

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut
    vu que je n'y arrive pas voilà ce que j'ai préféré faire :

    > X<-data.frame(data$L1)
    > Y<-data.frame(data$L2)
    > merge(X,Y, by="Identifiant", data)
    Erreur dans fix.by(by.x, x) :
    'by' doit spécifier la / les colonne(s) comme des entiers (position), des noms our des valeurs logiques

    je veux que la clef entre mes deux tableaux soit la colonne "Identifiant" et voilà ce qu'on me réponds ...

  5. #5
    Membre habitué
    Homme Profil pro
    Biologiste
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Biologiste
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Par défaut
    Salut,

    Tu peux essayer avec le package RODBC:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    require(RODBC)
     
    path_data <- odbcConnectExcel2007("C:/Documents [...]/data.xlsx")
    L1 <- sqlFetch(path_data, "sheet1")
    L2 <- sqlFetch(path_data, "sheet2")
    odbcClose(path_data)
    rm(path_data)
     
    my.df <- rbind(L1, L2)
    Il te faut juste remplacer l'emplacement de ton fichier .xlsx (ou .xls, dans ce cas modifie l'extension). Il faut également que tes noms de colonnes de L1 et L2 soient identiques. Tu peux aussi utiliser au lieu de .

    J'espère que ca aide. A+

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut
    Merci à vous,

    mais je me suis pas plus embêtée : j'ai enregistré sous mon onglet L1 et L2 dans deux fichiers textes différents

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    L1 <- read.table("le chemin jusqu'au fichier pour L1 en txt", sep="\t",dec=".", header=T, na.strings="NA")
    L2 <- read.table("le chemin jusqu'au fichier pour L2 en txt", sep="\t",dec=".", header=T, na.strings="NA")
     
    datacomplet<-merge(L1,L2, by.x ="Identifiant", by.y ="Identifiant")

    Finalement ca revient à coller deux bases de données entre elles plutôt que deux onglets
    Mmmm voilà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Fusionner deux états dans le même onglet
    Par Mut dans le forum IHM
    Réponses: 0
    Dernier message: 16/08/2011, 12h05
  2. [WD14] Exporter deux tables dans un même fichier Excel
    Par Pownee dans le forum WinDev
    Réponses: 2
    Dernier message: 21/09/2009, 09h10
  3. Réponses: 9
    Dernier message: 10/06/2008, 15h15
  4. Réponses: 1
    Dernier message: 14/02/2008, 08h02
  5. Macro VBA Excel : Comparaison des deux 1ères colonnes de 2 fichiers Excel
    Par techneric dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2007, 10h00

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