Wie konvertiere ich eine Excel-Datei mit mehreren Arbeitsblättern in eine Reihe von CSV-Dateien?
23
Ich habe eine Excel-Datei mit 20 Blättern. Gibt es eine Möglichkeit, die Datei schnell in 20 CSV-Dateien zu konvertieren - eine für jedes Blatt?
Ich kann es natürlich manuell machen, aber ich muss diese Dateien oft verarbeiten, daher wäre es großartig, eine Art Befehlszeilenprogramm (oder sogar Excel-Befehlszeilenschalter) zu haben.
Die Methode von Vembutech ist definitiv eine ausgefeiltere Lösung. Hier ist ein kompaktes VBA-Makro, mit dem alle Blätter aus einer Arbeitsmappe exportiert werden.
Geht im aktiven Arbeitsmappenordner alle Namen vor workbookname_sheetname.csv
Sub exportcsv()Dim ws AsWorksheetDim path AsString
path =ActiveWorkbook.path &"\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Activate
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub
BEARBEITEN:
Für den Kommentar. Das ursprüngliche Makro verwendet einfach die Funktion "Speichern unter" (ähnlich wie das Schließen des Originals). Wenn Sie dies tun möchten, während das Original geöffnet bleibt, müssen Sie es in eine neue Arbeitsmappe kopieren, speichern und die neue Arbeitsmappe schließen.
Sub exportcsv()Dim ws AsWorksheetDim path AsString
path =ActiveWorkbook.path &"\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
End Sub
Suchen Sie den Ordner, in dem Sie Ihre XLS-Datei haben
Wählen Sie das CSV-Namensschema und klicken Sie auf Konvertierung starten, um alle XLS-Dateien im Ordner in CSV-Dateien zu konvertieren
Wenn Ihr Ordner 3 xls-Dateien mit 3 Blättern enthält, werden für jedes Blatt 9 csv-Dateien erstellt, und Sie können die csv-Datei mit dem csv-Namensschema identifizieren
Hier ist ein Python - Skript getsheets.py ( Spiegel ), sollten Sie installieren pandasund xlrdbevor Sie es benutzen.
Führen Sie Folgendes aus:
pip3 install pandas xlrd # or `pip install pandas xlrd`
Wie funktioniert es?
$ python3 getsheets.py -h
Usage: getsheets.py [OPTIONS] INPUTFILE
Convert a Excel file with multiple sheets to several file with one sheet.
Examples:
getsheets filename
getsheets filename -f csv
Options:
-f, --format [xlsx|csv] Default xlsx.
-h, --help Show this message and exit.
In mehrere xlsx konvertieren:
$ python3 getsheets.py goods_temp.xlsx
Sheet.xlsx Done!
Sheet1.xlsx Done!
All Done!
Also: pip3 install openpyxl click ... und dann steige ich ImportError: cannot import name 'get_column_letter'in Zeile 513 von pandas excel.py ein; Ich denke, meine Pandas-Installation ist irgendwie kaputt.
Jameson Quinn
3
Ein Makro aus ExtendOffice zum Speichern der Registerkarten in Ihrem Ordner "Dokumente":
Sub ExportSheetsToCSV()
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = CurDir & "\" & xWs.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename: = xcsvFile, _
FileFormat: = xlCSV, CreateBackup: = False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
End Sub
Run-time error '1004': Application-defined or object-defined error
auf mein Excel für Mac.Anstelle von Batch-Skripten können Sie auch den XLS-zu-CSV-Konverter verwenden , um eine bessere Benutzeroberfläche zu erhalten
Direkter Link: http://cwestblog.com/wp-content/uploads/2013/04/XLS-to-CSV-Converter-1.1.0.zip
Entpacken Sie die .HTA-Datei.
Doppelklicken Sie auf die .HTA-Datei
Suchen Sie den Ordner, in dem Sie Ihre XLS-Datei haben
Wählen Sie das CSV-Namensschema und klicken Sie auf Konvertierung starten, um alle XLS-Dateien im Ordner in CSV-Dateien zu konvertieren
Wenn Ihr Ordner 3 xls-Dateien mit 3 Blättern enthält, werden für jedes Blatt 9 csv-Dateien erstellt, und Sie können die csv-Datei mit dem csv-Namensschema identifizieren
Hoffe das hilft!
quelle
Hier ist ein Python - Skript getsheets.py ( Spiegel ), sollten Sie installieren
pandas
undxlrd
bevor Sie es benutzen.Führen Sie Folgendes aus:
Wie funktioniert es?
In mehrere xlsx konvertieren:
In mehrere csv konvertieren:
quelle
pip3 install openpyxl click
... und dann steige ichImportError: cannot import name 'get_column_letter'
in Zeile 513 von pandas excel.py ein; Ich denke, meine Pandas-Installation ist irgendwie kaputt.Ein Makro aus ExtendOffice zum Speichern der Registerkarten in Ihrem Ordner "Dokumente":
quelle