ich versuche gerade Verzeifelt einen Export aller Arbeitsblätter einer Excel Datei in einzelne CSVs:
Code: Alles auswählen
def convertXLS2CSV(aFile):
'''converts a MS Excel file to csv w/ the same name in the same directory'''
print "------ beginning to convert XLS to CSV ------"
import win32com.client, os
excel = win32com.client.Dispatch('Excel.Application')
fileDir, fileName = os.path.split(aFile)
workbook = excel.Workbooks.Open(aFile)
for i in range (1,100):
try:
workbook.Worksheets(i).Select
w=workbook.Worksheets(i)
outCSV = os.path.join(fileDir,aFile)+("_"+ w.Name).replace(".","").replace(" ","_")+".csv"
w.SaveAs(outCSV, 6)
except:
break;
excel.ActiveWorkbook.Close()
excel.Quit()
print "...Converted to CSV"
convertXLS2CSV(r"C:/a/a2009.xls")
Proble:
1) warum macht er eine Komma-Seperrierte Datei, csv ist doch standardmäßig mit Semikolon
2) das wechseln der Arbeitsblätter funktioniert scheinbar nicht, er exportiert immer dasselbe Blatt obwohl er die Namen der einzelnen Blätter korrekt auszulesen scheint
Bin am verzeifeln, hoffe auf Hilfe
Grüße
Dom