Suite

Obtenir une erreur lors de l'ouverture du fichier Excel en Python


Je suis très nouveau sur Python, ici j'essaie d'ouvrir un fichier Excel XLS en code Python mais il me montre une erreur comme ci-dessous.

Code:

de xlrd import open_workbook import os.path wb = open_workbook('K:NEW_GISNEW DataGarpani_NLRMP_DataROR_Filespart-1.xlsx')

Je suis également le lien ci-dessous pour la version de mise à niveau : https://openpyxl.readthedocs.org/en/latest/

Erreur:

Traceback (appel le plus récent en dernier) : fichier "C:/Users/n/.qgis2/python/pluginsImporttoolImport_tool.py", ligne 327, dans select_output_file_5 workbook = open_workbook(r'K:NEW_GISNEW Data Garpani_NLRMP_DataROR_FilesPart-1.xlsx') Fichier "C:PROGRA~1QGISWI~1appsPython27libsite-packagesxlrd\__init__.py", ligne 429, dans open_workbook biff_version = bk. getbof(XL_WORKBOOK_GLOBALS) Fichier "C:PROGRA~1QGISWI~1appsPython27libsite-packagesxlrd\__init__.py", ligne 1545, dans getbof bof_error('Enregistrement BOF attendu ; trouvé %r' % self.mem[savpos:savpos+8]) Fichier "C:PROGRA~1QGISWI~1appsPython27libsite-packagesxlrd\__init__.py", ligne 1539, dans bof_error raise XLRDError( 'Format non pris en charge ou fichier corrompu : ' + msg) XLRDError : Format non pris en charge ou fichier corrompu : enregistrement BOF attendu ; trouvé 'PKx03x04x14x00x06x00'

Les classeurs Excel comportent une quantité considérable de mise en forme qui peut les rendre difficiles à gérer en python. J'ai trouvé qu'il est plus facile de travailler avec des données tabulaires en python à l'aide du module csv intégré. Au cas où vous ne le sauriez pas, CSV est un moyen standard de simplifier la lecture et l'écriture d'un tableau de données tabulaires singulier.

Pour exporter au format CSV, ouvrez la feuille de calcul dans Excel et choisissez « Enregistrer sous ». Dans la liste déroulante "Enregistrer sous le type", choisissez "CSV (délimité par des virgules)"

Une fois que vos données sont au format CSV, utilisez le module 'csv' intégré pour en lire le contenu.

importer csv csv_file_path = r"… myData.csv" avec open(csv_file_path, 'r') comme csv_file : pour la ligne dans csv.reader(csv_file) : imprimer la ligne

Vous n'avez pas échappé à vos contre-obliques. Essayez d'utiliser une chaîne brute en plaçant la lettre « r » devant la chaîne.

de xlrd import open_workbook import os.path wb = open_workbook(r'K:NEW_GISNEW DataGarpani_NLRMP_DataROR_Filespart-1.xlsx')

Votre feuille de calcul est au format Excel 2007+ .xlsx OOXML. Le lien dans votre question est vers les documents openpyxl qui peuvent lire .xlsx mais vous n'utilisez pas openpyxl, vous essayez d'ouvrir le fichier .xlsx avec xlrd qui ne lit que l'ancien format binaire Excel .xls.

Voici quelques informations supplémentaires sur l'utilisation des feuilles de calcul Excel en Python.


Voir la vidéo: Microsoft Excel - Úvod (Octobre 2021).