Ich versuche ein Skript in Python 2.7 zu schreiben, das alle .xls- und .xlsx-Dateien im aktuellen Verzeichnis in .csv unter Beibehaltung ihrer ursprünglichen Dateinamen konvertieren würde.Python: Konvertieren mehrerer Dateien von xls nach csv
Mit Hilfe von anderen ähnlichen Fragen hier (leider nicht sicher, wer für die Teile des Codes Ich lieh zu Krediten), hier ist was ich bisher habe:
import xlrd
import csv
import os
def csv_from_excel(xlfile):
wb = xlrd.open_workbook(xlfile)
sh = wb.sheet_by_index(0)
your_csv_file = open(os.path.splitext(sxlfile)[0], 'wb')
wr = csv.writer(your_csv_file, dialect='excel', quoting=csv.QUOTE_ALL)
for rownum in xrange(sh.nrows):
wr.writerow(sh.row_values(rownum))
your_csv_file.close()
for file in os.listdir(os.getcwd()):
if file.lower().endswith(('.xls','.xlsx')):
csv_from_excel(file)
Ich habe zwei Fragen:
1) Ich kann nicht herausfinden, warum das Programm beim Ausführen nur eine Datei konvertiert und nicht alle Dateien im aktuellen Verzeichnis durchläuft.
2) Ich kann nicht herausfinden, wie man den ursprünglichen Dateinamen durch die Umwandlung behält. I.e. dass eine Ausgabedatei denselben Namen wie eine Eingabe hat.
Danke