La documentation pour xlrd
ici http://www.python-excel.org/ mentionne que c'est maintenant possible dans la dernière version, mais ne dit pas comment.Comment localiser et accéder aux plages nommées (global, nd per-worksheet) en utilisant xlrd, Python?
Répondre
Je ne suis pas sûr de ce que vous êtes en train de lire; L'accès xlrd aux plages nommées est disponible depuis quelques années (dans la version 0.6.0, la dernière version est la 0.7.1) et est livré avec une documentation complète ab initio.
This is the xlrd documentation link est donné sur la page http://www.python-excel.org/ que vous avez mentionnée. Hit PageDown deux fois et vous devriez voir une section intitulée Références nommées, constantes, formules et macros. Cela donne une vue d'ensemble et vous dirige vers la documentation des méthodes & l'objet Name
, et vers un script de démonstration. Notez qu'il s'agit de la version de ligne de réseau SVN de la documentation et qu'elle s'applique à une version ultérieure; il peut mentionner une méthode de commodité supplémentaire qui n'est pas disponible dans la version actuelle de xlrd (que vous pouvez obtenir de PyPI) et qui inclut le fichier de documentation approprié.
Mise à jour en réponse à "" "je me suis loin: someRange = book.name_map [u'somerange '] [0] et maintenant je veux itérer dessus, les valeurs d'appui, obtenir ses dimensions, etc. Maintenant, que dois-je faire? J'ai essayé dir (someRange) et help (someRange) et cela n'a pas aidé beaucoup. "" "
Ce que vous appelez someRange
est une instance de la classe Name
. Vous devez lire le documentation of that class. Il serait utile si vous deviez lire the demonstration script xlrdnameAPIdemo.py et essayez de l'exécuter sur votre fichier (s) xls. Notez que "get its dimensions" précède logiquement "itérer dessus, saisir des valeurs"; la méthode pratique Name.area2d
peut être ce dont vous avez besoin.
Ce n'est pas trivial et cela a fonctionné dans mon cas seulement sur XLS pas XLSX (probablement parce que sur mon XLSX name.evaluated == 0
):
name = book.name_map['my_named_range'][0]
assert name.result.kind == xlrd.oREF
ref3d = name.result.value[0]
for sheet_index in range(ref3d.shtxlo, ref3d.shtxhi):
sheet = book.sheet_by_index(sheet_index)
for row in range(ref3d.rowxlo, min(ref3d.rowxhi, sheet.nrows)):
for col in range(ref3d.colxlo, min(ref3d.colxhi, sheet.ncols)):
cell = sheet.cell(row, col)
# TODO: Do something with that cell.
Vous voulez limiter le nombre de colonnes et de lignes dans la feuille au cas où votre plage est similaire à A:A
ou 1:1
(c'est-à-dire la ligne ou la colonne entière).
- 1. Définir les plages nommées Excel via C#?
- 2. Comment accéder aux variables en utilisant NMake?
- 3. Accéder aux données de musique MP3 en utilisant Python
- 4. Python xlrd extraction des données
- 5. Accéder aux données de Reuters en Python
- 6. Python: Comment accéder aux chemins Linux
- 7. Accéder aux constantes d'API et aux enums de python
- 8. accéder aux données GPS en utilisant C#?
- 9. accéder aux fichiers texte en utilisant php?
- 10. Comment accéder dynamiquement aux propriétés de classe en Python?
- 11. problème datetime avec xlrd & xlwt python libs
- 12. Comment accéder aux champs d'une structure importée depuis un fichier .mat en utilisant loadmat dans Python?
- 13. Accéder aux commentaires en XML en utilisant XPath
- 14. Python coller en utilisant oeuf global au lieu de local
- 15. Comment accéder aux pommes iCal-Server via Python
- 16. Comment accéder aux propriétés dynamiquement/en retard?
- 17. Accéder aux variables en Javascript en utilisant .length
- 18. Les plages nommées en double entre les classeurs provoquent des confusions dans mes fonctions personnalisées
- 19. Comment accéder aux éléments et attributs XML?
- 20. Comment accéder aux nœuds XMLList en AS3
- 21. Accéder aux partages samba avec gio en python
- 22. Comment accéder à MS SQL Server en utilisant Python 3?
- 23. Accéder aux valeurs des cookies en utilisant sencha extjs
- 24. en utilisant l'objet fenêtre pour accéder aux objets définis par l'utilisateur global et en utilisant du texte dans html pour créer une spécificité supplémentaire
- 25. Accéder aux méthodes java statiques en Python via jython
- 26. Comment obtenir un accès global aux types enum en C#?
- 27. Comment accéder aux ports USB en Java
- 28. Accéder à un attribut en utilisant une variable en Python
- 29. Accéder aux données dans un fichier XML en utilisant TBXML?
- 30. MySQL ND SSL PHP5.3.3
Ok John, donc je suis arrivé jusqu'ici: 'someRange = book.name_map [u'somerange '] [0]' et maintenant je veux itérer dessus, saisir des valeurs, obtenir ses dimensions, etc. faire? J'ai essayé 'dir (someRange)' et 'help (someRange)' et cela n'a pas beaucoup aidé. Merci. –