Comment puis-je lire un fichier Excel en Python à l'aide de xlrd? Peut-il lire les nouveaux formats de Office?

Ma question est ci-dessous, mais serait intéressé les commentaires de tous ceux ayant de l'expérience avec xlrd.

Je viens de trouver xlrd et il semble que la solution parfaite, mais je vais avoir un petit problème de mise en route. Je cherche à extraire des données par programmation à partir d'un fichier Excel que j'ai sorti de Dow Jones avec les composantes actuelles de l'indice Dow Jones Industrial average (lien: http://www.djindexes.com/mdsidx/?event=showAverages)

Quand j'ouvre le fichier non modifié-je obtenir un méchant BIFF erreur (binary format non reconnu)

Cependant vous pouvez le voir dans cette capture d'écran que Excel 2008 pour Mac pense qu'il est dans 'Excel 1997-2004' format (capture d'écran: http://skitch.com/alok/ssa3/componentreport-dji.xls-properties)

Si j'ai plutôt l'ouvrir dans Excel manuellement et de les enregistrer sous " Excel 1997-2004 format explicitement, puis ouvrez-le dans python usig xlrd, tout est merveilleux. Rappelez-vous, le Bureau pense que le fichier est déjà dans Excel 1997-2004 format. Tous les fichiers sont .xls

Ici est un pastebin d'un ipython session de la réplication de la question: http://pastie.textmate.org/private/jbawdtrvlrruh88mzueqdq

Toute réflexion sur:
Comment tromper xlrd en reconnaissant le fichier afin que je puisse extraire les données?
Comment utiliser python pour automatiser l'explicite "enregistrer sous" format à un xlrd va accepter?
Le Plan B?

OriginalL'auteur |