2017-06-28 4 views
2

Wenn ich dies in Python ausführen, erhalte ich keine Fehler. Wenn ich jedoch den Ordner überprüfe, in dem ich mein Programm gespeichert habe, wird keine Excel-Datei erstellt. Nicht sicher, was ich falsch gemacht habe.Xlsx Writer erstellt keine Excel-Datei, aber keine Fehler entweder

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

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

workbook.close() 
+1

Können Sie den vollständigen Befehl anzeigen, den Sie verwenden, um das Python-Skript auszuführen? – MBurnham

+3

Sind Sie sicher von Ihrem aktuellen Verzeichnis? Können Sie versuchen, Ihren Dateinamen durch einen absoluten Dateinamen zu ändern? Hinweis: Das aktuelle Verzeichnis ist nicht unbedingt das, wo Ihr Skript ist befindet sich. –

+0

@ Jean-FrançoisFabre Danke! Das stellte sich als das Problem heraus. Ich hatte schon früher nach der Datei auf meinem Computer gesucht, aber nachdem ich es nicht gefunden hatte, war es nicht das Problem. Wer weiß, wo all diese Excel-Dateien sind Ich habe erstellt, verstecken sich jetzt. Wenn Sie Ihren Kommentar machen t eine Antwort, ich werde es als die richtige Antwort markieren :) –

Antwort

2

Abhängig von Ihrer IDE oder die Art und Weise Sie Ihr Skript laufen lassen, kann das aktuelle Verzeichnis alles sein, aber nicht unbedingt das Verzeichnis, in dem sich das Skript befindet.

Um die Datei zu erstellen, in dem ich das Skript befindet, ist ein guter Trick, um dies:

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

__file__ ist der Pfad des aktuellen Skripts, die Verzeichnisnamen unter & Verbindungsbasisnamen der Datei erstellt den absoluten Pfad Ihrer Ausgabedatei. Früher habe ich os.path.abspath auf sie, weil sie einen Basisnamen zurückgeben kann (je nachdem, wie es ausgeführt wird, und als dirname auf Unix-Befehl im Gegensatz os.path.dirname eines Basisnamen nicht . aber leeren String zurückgibt, so dass die os.path.join versagt in diesem Fall.

+1

Sie gespeichert meinen Tag .. danke – lalithkumar

Verwandte Themen