Open ericemc3 opened 2 years ago
@CTassart et @oliviermeslin : c'est vous qui aviez fait le comparatif. Vous avez encore les tests de perf ?
Il me semble aussi que readxl::read_excel
est plus performant que openxlsx::read.xlsx
Cette page fournit un bon exemple dont je reprends ici les résultats :
Mais peut-être que {openxlsx} présente d'autres avantages comparativement à {readxl}
En effet, je trouve pour ma part openxlsx
intéressant en écriture de fichiers xlsx, openxlsx ::write.xlsx
présente de multiples options bien pratiques pour personnaliser ses exports.
Pour en revenir à la lecture, une différence importante entre les 2 fonctions n'est pas dans la sélection par plage pour readxl::read_excel
contre la spécification des lignes et colonnes par openxlsx::read.xlsx
? Pas de hiérarchie selon moi, seulement des possibilités différentes selon la localisation des données dans les fichiers qu'on veut importer.
En effet, je trouve pour ma part
openxlsx
intéressant en écriture de fichiers xlsx,openxlsx ::write.xlsx
présente de multiples options bien pratiques pour personnaliser ses exports.
Oui je confirme dans mon équipe un collègue a écrit quelques fonctions d'export à partir d'openxlxs
et c'est assez puissant en terme de choix de styles possibles (formats des colonnes/lignes/cellules, personnalisation des titres/notes de lecture/sources...).
Peut-être à signaler un jour dans un paragraphe ou fiche sur les exports ?
En effet, je trouve pour ma part openxlsx intéressant en écriture de fichiers xlsx, openxlsx ::write.xlsx présente de multiples options bien pratiques pour personnaliser ses exports.
Oui je confirme dans mon équipe un collègue a écrit quelques fonctions d'export à partir d'openxlxs et c'est assez puissant en terme de choix de styles possibles (formats des colonnes/lignes/cellules, personnalisation des titres/notes de lecture/sources...).
Peut-être à signaler un jour dans un paragraphe ou fiche sur les exports ?
Au vu du débat, j'ai l'impression que les éléments suivants semblent émerger
readxl
plus performant en lecture pourrait être privilégié. La spécification des lignes ou colonnes à sélectionner semble quand même riche (ci-dessous)openxlsx
fait consensus pour l'écritureA cell range to read from, as described in cell-specification. Includes typical Excel ranges like "B3:D87", possibly including the sheet name like "Budget!B2:G14", and more. Interpreted strictly, even if the range forces the inclusion of leading or trailing empty rows or columns. Takes precedence over skip, n_max and sheet.
Ravi d'accepter une PR qui irait dans ce sens (promis plus rapidement que ma participation à ce débat)
Cette affirmation pose la supériorité de openxlsx::read.xlsx sur readxl::read_excel :
Cela ne correspond pas à mon ressenti. Avez-vous un exemple ?
Voici un test sur un tableau détaillé RP de 36 Mo accessible sur https://www.insee.fr/fr/statistiques/5395834?sommaire=5395894, readxl apparait deux fois plus rapide :