Quelqu'un peut-il m'aider sur la meilleure façon d'importer un fichier Excel 2007 (.xlsx) dans R. J'ai essayé plusieurs méthodes et aucune ne semble fonctionner. J'ai mis à niveau vers 2.13.1, Windows XP, xlsx 0.3.0, je ne sais pas pourquoi l'erreur continue à apparaître. J'ai essayé:
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx","DNA_Tag_Numbers")
OU
AB<-read.xlsx("C:/AB_DNA_Tag_Numbers.xlsx",1)
mais j'obtiens l'erreur:
Error in .jnew("java/io/FileInputStream", file) :
java.io.FileNotFoundException: C:\AB_DNA_Tag_Numbers.xlsx (The system cannot find the file specified)
Je vous remercie.
.csv
.file.exists("C:/AB_DNA_Tag_Numbers.xlsx")
?Réponses:
Pour une solution exempte de dépendances externes fastidieuses *, il existe maintenant
readxl
:Il peut être installé comme ceci:
ou
Usage
* pas strictement vrai, il nécessite le
Rcpp
package , qui à son tour nécessite Rtools (pour Windows) ou Xcode (pour OSX), qui sont des dépendances externes à R. Mais ils ne nécessitent pas de manipuler les chemins, etc., donc c'est un avantage par rapport aux dépendances Java et Perl.Mise à jour Il existe maintenant le package rexcel . Cela promet d'obtenir le formatage Excel, les fonctions et de nombreux autres types d'informations à partir du fichier Excel et dans R.
la source
Vous pouvez également essayer le package XLConnect. J'ai eu plus de chance avec cela que xlsx (en plus, il peut lire les fichiers .xls aussi).
De plus, si vous rencontrez des problèmes avec votre fichier introuvable, essayez de le sélectionner avec file.choose ().
la source
readWorksheet(loadWorkbook(...))
faire la même chose un peu plus succinctement avecreadWorksheetFromFile(...)
.J'essaierais certainement la
read.xls
fonction dans legdata
package, qui est considérablement plus mature que lexlsx
package. Cela peut nécessiter Perl ...la source
Mettre à jour
Comme la réponse ci-dessous est maintenant quelque peu obsolète, je voudrais simplement attirer l'attention sur le package readxl . Si la feuille Excel est bien formatée / disposée, j'utiliserais maintenant readxl pour lire le classeur. Si les feuilles sont mal formatées / disposées, j'exporterais toujours au format CSV, puis je gérerais les problèmes dans R via
read.csv()
ou à l'anciennereadLines()
.Original
Ma méthode préférée est d'enregistrer des feuilles Excel individuelles dans des fichiers de valeurs séparées par des virgules (CSV). Sous Windows, ces fichiers sont associés à Excel afin que vous ne perdiez pas la "fonctionnalité" double-clic-ouvrir-dans-Excel.
Les fichiers CSV peuvent être lus dans R en utilisant
read.csv()
, ou, si vous êtes dans un emplacement ou en utilisant un ordinateur configuré avec certains paramètres européens (où,
est utilisé comme décimale), en utilisantread.csv2()
.Ces fonctions ont des valeurs par défaut sensibles qui simplifient la lecture des fichiers correctement formatés. Conservez simplement les étiquettes des échantillons ou des variables dans la première ligne ou colonne.
Les avantages supplémentaires du stockage des fichiers au format CSV sont que, comme les fichiers sont en texte brut, ils peuvent être transmis très facilement et vous pouvez être sûr qu'ils s'ouvriront n'importe où; on n'a pas besoin d'Excel pour regarder ou modifier les données.
la source
read.xlsx()
et d' avoir les dernières versions de ce paquet et de R, envoyez un e-mail au responsable du paquet pour signaler un bogue potentiel.Exemple 2012:
Exemple 2015:
readxl
et j'en ai fait une bonne expérience.la source
Ce nouveau paquet a l'air bien http://cran.r-project.org/web/packages/openxlsx/openxlsx.pdf Il ne nécessite pas rJava et utilise 'Rcpp' pour la vitesse.
la source
Si vous rencontrez le même problème et que R vous donne une erreur - n'a pas pu trouver la fonction ".jnew" - Installez simplement la bibliothèque rJava. Ou si vous l'avez déjà, lancez simplement la bibliothèque de lignes (rJava). Cela devrait être le problème.
De plus, il devrait être clair pour tout le monde que les fichiers csv et txt sont plus faciles à utiliser, mais la vie n'est pas facile et parfois il suffit d'ouvrir un xlsx.
la source
gdata
je reçois le message de démarrage Ilgdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
me semble que cela devrait ouvrir des fichiers xlsx, bien que je ne l'ai pas testé récemment ...gdata
version 2.8.2 lit lesxlsx
fichiers avec laread.xls
fonction.J'ai récemment découvert la fonction de Schaun Wheeler pour importer des fichiers Excel dans R après avoir réalisé que le package xlxs n'avait pas été mis à jour pour R 3.1.0.
https://gist.github.com/schaunwheeler/5825002
Le nom de fichier doit avoir l'extension ".xlsx" et le fichier ne peut pas être ouvert lorsque vous exécutez la fonction.
Cette fonction est vraiment utile pour accéder au travail d'autres personnes. Les principaux avantages par rapport à l'utilisation de la fonction read.csv sont lorsque
L'utilisation de la fonction read.csv nécessite l'ouverture et l'enregistrement manuels de chaque document Excel, ce qui prend du temps et est très ennuyeux. Utiliser la fonction de Schaun pour automatiser le flux de travail est donc une aide considérable.
Gros accessoires à Schaun pour cette solution.
la source
Pour moi, le package openxlx a fonctionné de la manière la plus simple.
la source
Quel est votre système d'exploitation? Quelle version de R utilisez-vous: 32 bits ou 64 bits? Quelle version de Java avez-vous installée?
J'ai eu une erreur similaire lorsque j'ai commencé à utiliser la
read.xlsx()
fonction et j'ai découvert que mon problème (qui peut ou non être lié au vôtre; au minimum, cette réponse doit être considérée comme "essayez ceci aussi") était lié à l'incompatibilité de .xlsx pacakge avec Java 64 bits. Je suis assez certain que le package .xlsx nécessite Java 32 bits.Utilisez R 32 bits et assurez-vous que Java 32 bits est installé. Cela peut résoudre votre problème.
la source
Le commentaire ci-dessus aurait dû résoudre votre problème:
devrait bien fonctionner après cela.
la source
Vous pourrez peut-être conserver plusieurs onglets et plus d'informations de mise en forme si vous exportez vers un fichier de feuille de calcul OpenDocument ( ods ) ou un ancien format Excel et que vous l'importez avec le lecteur ODS ou le lecteur Excel que vous avez mentionné ci-dessus.
la source
Comme beaucoup l'ont dit ici, j'écris la même chose mais avec un point supplémentaire!
Au début, nous devons nous assurer que notre R Studio a ces deux packages installés:
Pour charger un package dans R, vous pouvez utiliser la fonction ci-dessous:
search affichera la liste des packages actuellement disponibles dans votre R Studio.
Maintenant, un autre problème, même si vous pouvez avoir ces deux packages, mais vous pouvez toujours rencontrer un problème lors de la lecture du fichier "xlsx" et l'erreur pourrait être comme "erreur: plus de colonnes que le nom de la colonne"
Pour résoudre ce problème, vous pouvez simplement réenregistrer votre feuille Excel "xlsx" dans
et votre vie sera super facile ...
S'amuser!!
la source
J'ai essayé très dur sur toutes les réponses ci-dessus. Cependant, ils n'ont pas vraiment aidé car j'ai utilisé un mac. La bibliothèque rio a cette fonction d'importation qui peut fondamentalement importer tout type de fichier de données dans Rstudio , même les fichiers utilisant des langues autres que l'anglais!
Essayez les codes ci-dessous:
J'espère que cette aide. Pour une référence plus détaillée: https://cran.r-project.org/web/packages/rio/vignettes/rio.html
la source