2017-11-17 1 views
1

Ich benutze die openpyxl Bibliothek auf Python 3.5 auf einem Windows 10 Computer und versuche load_workbook() einen Pfadnamen mit Leerraum.Ich benutze die openpyxl Bibliothek auf Python auf einem Windows 10 Computer und versuche load_workbook mit whitespace

Ich habe es online nachgeschlagen und kann nicht scheinen, dies selbst zu lösen. Ich habe einige meiner Versuche unten aufgeführt.

Ich muss etwas komplett vermissen, weil ich niemanden finden kann, der nach diesem speziellen Problem mit openpyx fragt.

Jede Hilfe würde sehr geschätzt werden.

Meine aktuelle Arbeit wäre, Python zu verwenden, um die Datei zu überprüfen und möglicherweise umzubenennen, um die Leerzeichen zu entfernen, aber das scheint nur völlig unnötig und ich habe möglicherweise nicht immer die Berechtigungen, das zu tun.

import openpyxl 
from openpyxl import load_workbook 
import os 

docName = "space book.xlsx" 
docNameWithExits = "space^ book.xlsm" 
fullPathOfDocument = "./" + docName 
fullPathOfDocumentExtraPar = "'" + "./" + docName + "'" 
fullOsPath = os.path.join("." , docName) 
docObject = open(fullPathOfDocument,"rb") 

try: 
    attempt1 = load_workbook(docName) 
    print("worked") 
except: 
    print("didnt work") 

try: 
    attempt2 = load_workbook(fullPathOfDocument) 
    print("worked") 
except: 
    print("didnt work") 

try: 
    attempt3 = load_workbook(fullPathOfDocumentExtraPar) 
    print("worked") 
except: 
    print("didnt work") 

try: 
    attempt4 = load_workbook(docNameWithExits) 
    print("worked") 
except: 
    print("didnt work") 

try: 
    attempt5 = load_workbook(fullOsPathvar) 
    print("worked") 
except: 
    print("didnt work") 

try: 
    attempt6 = load_workbook(docObject) 
    print("worked") 
except: 
    print("The computer has won") 

Vielen Dank im Voraus für jede Hilfe Grüße, -Nex

Antwort

0

openpyxl.load_workbook() einen Pfad mit Leerzeichen darin lesen kann. In meinem vollständig reproduzierbaren Beispiel gibt es Whitespace in dem Arbeitsmappename und den Ordnern.

Ich vermute, dass die Probleme auftreten, wenn Sie Ihre Zeichenfolgen nicht mit einem "r" vorausgehen. Das "r" sagt Python, dass die angegebene Zeichenfolge als eine rohe Zeichenfolge behandelt werden soll.

Dieses Beispiel wurde unter Windows 10, Python 3.5 und openpyxl 2.4.7 getestet

+0

Oh vielen Dank! Ich bin mir nicht sicher, was falsch war. Ich denke, es bezog sich auf die Programme Pfad mit „./“ aber ich benutze os.path.join nur (os.getcwd(), filename) ./ zuvor gearbeitet hatte, bis ich den Namen des Dokuments mit Leerzeichen verwendet Ich benutze Ihren Code als Beispiel Ich habe es für ein beliebiges Dokument mit Leerzeichen im Pfad Vielen Dank für die Zeit für die Lösung , aber jetzt sucht load_workbook nach einer Zip-Datei auf der eigentlichen Datei, die mir wichtig ist. Ich denke, die XML-Struktur ist anders, weil es von einer SQL-Datenbank ausgegeben wurde .... Die Reise geht weiter Nochmals vielen Dank –

Verwandte Themen