2016-06-23 12 views
1

Ich möchte 500 Excel-Dateien finden und öffnen, damit ich sie bearbeiten kann. Mir wurde gesagt, dass es möglich ist, die os.path.join() zu verwenden, um sie gleichzeitig zu erhalten, da sie sich in einem Ordner befinden. Als ich verwendete:So verwenden Sie os.path.join() beim Suchen nach vielen Dateien

file_location = os.path.join("C:\Users\A12345\Desktop\Folder_name","file_1.xlsm) 

es funktionierte, aber jetzt möchte ich alle von ihnen finden und öffnen. Hat jemand eine Idee, wie man das auf einfache Weise macht?

Antwort

2

Alle os.path.join() does ist ein Pfad und einen Dateinamen verketten, d. H. Es abstrahiert das Verzeichnis Trennzeichen für Sie. Es hat nichts damit zu tun, Dateien zu "bekommen".

Du wirst etwas wie glob verwenden, um die Dateinamen zu erhalten:

xlsms = glob.glob('C:\Users\A12345\Desktop\Folder_name\*.xlsm') 

Dann können Sie diese in Excel füttern ich denke, mit os.system():

cmd = "msexcel.exe %s" % " ".join(xlsms) 
os.system(cmd) 

Hier nehme ich an dass Excel als msexcel.exe verfügbar ist und Hunderte von Dateinamen in der Befehlszeile akzeptiert.

+0

Was macht das? cmd = "msexcel.exe% s"% "" .join (xlsms) os.system (cmd) Was bedeutet "füttern", um zu übertreffen? – Roslund

+0

@Roslund Es führt lediglich Excel von der Befehlszeile aus und übergibt ihm die Dateinamen als Argumente. Ich habe nur angenommen, dass du das tun kannst, ohne es zu überprüfen. – unwind