66 votes

Est-il possible d'obtenir le nombre de lignes d'un document Excel sans charger tout le document en mémoire ?

Je travaille sur une application qui traite d'énormes fichiers Excel 2007, et j'utilise OpenPyXL pour le faire. OpenPyXL dispose de deux méthodes différentes pour lire un fichier Excel - une méthode "normale" où le document entier est chargé en mémoire en une seule fois, et une méthode où des itérateurs sont utilisés pour lire ligne par ligne.

Le problème est que lorsque j'utilise la méthode de l'itérateur, je n'obtiens aucune métadonnée du document, comme la largeur des colonnes et le nombre de lignes/colonnes, et je n'obtiens pas de métadonnées du document, comme la largeur des colonnes et le nombre de lignes/colonnes. vraiment ont besoin de ces données. Je suppose que ces données sont stockées dans le document Excel près du sommet, de sorte qu'il ne devrait pas être nécessaire de charger l'ensemble du fichier de 10 Mo dans la mémoire pour y accéder.

Existe-t-il un moyen de connaître le nombre de lignes/colonnes et la largeur des colonnes sans avoir à charger tout le document en mémoire ?

0voto

delphisharp Points 21

https://pythonhosted.org/pyexcel/iapi/pyexcel.sheets.Sheet.html voir : row_range() Fonction utilitaire pour obtenir l'étendue des lignes

si vous utilisez pyexcel, vous pouvez appeler row_range pour obtenir le nombre maximum de lignes.

python 3.4 test réussi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X