Comment convertir un fichier Excel avec plusieurs feuilles en un ensemble de fichiers CSV?
23
J'ai un fichier Excel avec 20 feuilles dessus. Existe-t-il un moyen de convertir rapidement le fichier en 20 fichiers CSV - un pour chaque feuille?
Je peux le faire manuellement bien sûr, mais je devrai beaucoup traiter ces fichiers, donc ce serait génial d'avoir une sorte d'utilitaire de ligne de commande (ou même des commutateurs de ligne de commande Excel).
La méthode de vembutech est définitivement une solution plus raffinée. Voici une macro VBA légère qui exporterait toutes les feuilles d'un classeur.
Va dans le dossier des classeurs actifs, tous les noms sont 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
MODIFIER:
Pour le commentaire. La macro d'origine utilise simplement la fonction d'enregistrement en tant que (ce qui revient à fermer l'original). Si vous souhaitez le faire tout en laissant l'original ouvert, vous devez copier dans un nouveau classeur, enregistrer, fermer le nouveau classeur.
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
Localisez le dossier où vous avez votre fichier xls
sélectionnez le schéma de nommage csv et cliquez sur démarrer la conversion qui convertira tous les fichiers xls du dossier en fichiers csv
Si votre dossier contient 3 fichiers xls avec 3 feuilles, il créerait 9 fichiers csv pour chaque feuille et vous pouvez identifier le fichier csv avec le schéma de dénomination csv
Voici un script python getsheets.py ( miroir ), vous devez installer pandaset xlrdavant de l'utiliser.
Lance ça:
pip3 install pandas xlrd # or `pip install pandas xlrd`
Comment ça fonctionne?
$ 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.
Convertir en plusieurs xlsx:
$ python3 getsheets.py goods_temp.xlsx
Sheet.xlsx Done!
Sheet1.xlsx Done!
All Done!
Aussi: pip3 install openpyxl click ... et je reçois ensuite la ImportError: cannot import name 'get_column_letter'ligne 513 de pandas excel.py; Je suppose que mon installation de pandas est en quelque sorte cassée.
Jameson Quinn
3
Une macro d' ExtendOffice pour enregistrer les onglets dans votre dossier Documents:
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
sur mon Excel pour Mac.Au lieu d'un script batch, vous pouvez utiliser le convertisseur XLS en CSV qui vous offrirait une meilleure interface utilisateur
Lien direct: http://cwestblog.com/wp-content/uploads/2013/04/XLS-to-CSV-Converter-1.1.0.zip
Décompressez le fichier .HTA.
Double-cliquez sur le fichier .HTA
Localisez le dossier où vous avez votre fichier xls
sélectionnez le schéma de nommage csv et cliquez sur démarrer la conversion qui convertira tous les fichiers xls du dossier en fichiers csv
Si votre dossier contient 3 fichiers xls avec 3 feuilles, il créerait 9 fichiers csv pour chaque feuille et vous pouvez identifier le fichier csv avec le schéma de dénomination csv
J'espère que cela t'aides!
la source
Voici un script python getsheets.py ( miroir ), vous devez installer
pandas
etxlrd
avant de l'utiliser.Lance ça:
Comment ça fonctionne?
Convertir en plusieurs xlsx:
Convertir en plusieurs csv:
la source
pip3 install openpyxl click
... et je reçois ensuite laImportError: cannot import name 'get_column_letter'
ligne 513 de pandas excel.py; Je suppose que mon installation de pandas est en quelque sorte cassée.Une macro d' ExtendOffice pour enregistrer les onglets dans votre dossier Documents:
la source