2017-06-28 1 views
2

Lorsque j'exécute ceci en python, je ne reçois aucune erreur. Cependant, lorsque je vérifie le dossier dans lequel j'ai enregistré mon programme, aucun fichier Excel n'est créé. Je ne sais pas ce que j'ai mal fait.Xlsx Writer ne crée pas de fichier Excel mais ne crée pas d'erreur non plus

import xlsxwriter 
workbook = xlsxwriter.Workbook("result.xlsx") 
worksheet = workbook.add_worksheet() 

worksheet.write('A1','plz work') 

workbook.close() 
+1

Pouvez-vous montrer la commande complète que vous utilisez pour exécuter le script python? – MBurnham

+3

êtes-vous sûr de votre répertoire actuel? Pouvez-vous essayer de changer votre nom de fichier par un nom de fichier absolu? Note: le répertoire courant n'est pas nécessairement celui de votre script –

+0

@ Jean-FrançoisFabre Merci, ça a été le problème, j'avais déjà cherché le fichier sur mon ordinateur plus tôt mais après ne pas le trouver, je suppose que ce n'est pas le problème. J'ai créé se cachent maintenant. Si vous faites votre commentaire t une réponse que je vais marquer comme la bonne réponse :) –

Répondre

2

En fonction de votre IDE ou la façon dont vous utilisez votre script, le répertoire en cours peut être quelque chose, mais pas nécessairement dans le répertoire où se trouve le script.

Pour créer le fichier où se trouve le script, une bonne astuce est la suivante:

import os 
workbook = xlsxwriter.Workbook(os.path.join(os.path.dirname(os.path.abspath(__file__)),"result.xlsx")) 

__file__ est le chemin de votre script en cours, en prenant le nom du répertoire & joindre au nom de fichier de base crée le chemin absolu de votre fichier de sortie. Je os.path.abspath sur elle parce qu'elle peut renvoyer un nom de base (selon la façon dont il est géré, et par opposition à commande Unix dirname, os.path.dirname d'un basename ne retourne pas . mais chaîne vide, de sorte que le os.path.join tombe en panne dans ce cas.

+1

vous avez sauvé ma journée..merci – lalithkumar