2016-03-25 1 views
0

J'essaie de charger des feuilles de calcul Excel dans R en utilisant le paquetage xlsx. Les fichiers sont sauvegardés en tant que vieilles feuilles de calcul 97-2003 (les fins sont .XLS) pour les fichiers plus récents, le code ci-dessous a bien fonctionné.Charger la feuille de calcul Excel 2003 (.XLS) dans Excel R

df <- read.xlsx(filename,sheetIndex=2) 

Cependant, lorsque je tente sur les anciens fichiers que je reçois le message d'erreur:

Erreur dans .jcall ("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, : org.apache.poi.hssf.OldExcelFormatException: La feuille de calcul fournie semble être Excel 5.0/7.0 (BIFF5) le format POI supporte uniquement le format BIFF8 (à partir des versions Excel 97/2000/XP/2003)

que je connais. l'erreur a à voir avec les fichiers étant dans le format plus ancien mais je ne sais pas comment résoudre ceci.J'ai trop de fichiers pour mettre à jour manuellement chacun d'eux.Un ggestions serait grandement apprécié!

P.S. excuses pour ne pas ajouter un exemple entièrement reproductible. Je ne sais pas comment joindre des fichiers pour répondre à ma question.

Répondre

1

Le package readxl est un moyen de lire des fichiers Excel. L'avantage est qu'il n'y a pas de dépendance à Java ou autre.

Votre code serait

library(readxl) 
df <- read_excel(path = filepath, sheet =2) 

Il devrait fonctionner avec XLS et les fichiers XLSX.

Utilisez excel_sheets(filepath) pour obtenir le nom des feuilles à importer et passez-les via l'argument de read_excel. Vous pouvez faire une boucle avec cela si cela vous aide.