J'ai environ 150 fichiers .xls et .xlsx que j'ai besoin de convertir en délimité par des tabulations. J'ai essayé d'utiliser l'automateur, mais je n'ai pu le faire qu'un par un. C'est définitivement plus rapide qu'ouvrir chacun individuellement, cependant. J'ai très peu de connaissances en script, donc j'apprécierais un moyen de le faire aussi facilement que possible.Conversion de masse .xls et .xlsx en .txt (délimité par des tabulations) sur un Mac
Répondre
Si vous êtes prêt à utiliser Python pour cela, j'ai écrit un script qui convertit les feuilles de calcul Excel en fichiers CSV. Le code est disponible en Pastebin.
Vous juste besoin de changer la ligne suivante:
writer = csv.writer(fileout)
à:
writer = csv.writer(fileout, delimiter="\t")
pour faire l'onglet du fichier de sortie délimité plutôt que la virgule délimitée norme. Dans l'état actuel des choses, ce script vous invite à sélectionner les fichiers les uns après les autres (vous permet de sélectionner dans une boîte de dialogue), mais il peut facilement être adapté pour ramasser tous les fichiers Excel dans une arborescence donnée. correspondre à un modèle donné.
Si vous essayez d'abord avec un fichier individuel et laissez-moi savoir comment vous allez, je peux vous aider avec les changements pour automatiser le reste si vous le souhaitez.
MISE À JOUR
Voici un script d'emballage, vous pouvez utiliser:
#!/usr/bin/python
import os, sys, traceback
sys.path.insert(0,os.getenv('py'))
import excel_to_csv
def main():
# drop out if no arg for excel dir
if len(sys.argv) < 2:
print 'Usage: Python xl_csv_wrapper <path_to_excel_files>'
sys.exit(1)
else:
xl_path = sys.argv[1]
xl_files = os.listdir(xl_path)
valid_ext = ['.xls', '.xlsx', '.xlsm']
# loop through files in path
for f in xl_files:
f_name, ext = os.path.splitext(f)
if ext.lower() in valid_ext:
try:
print 'arg1:', os.path.join(xl_path,f)
print 'arg2:', os.path.join(xl_path,f_name+'.csv')
excel_to_csv.xl_to_csv(os.path.join(xl_path,f),
os.path.join(xl_path,f_name+'.csv'))
except:
print '** Failed to convert file:', f, '**'
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
for line in lines:
print '!!', line
else:
print 'Sucessfully conveted', f, 'to .csv'
if __name__ == '__main__':
main()
Vous devrez remplacer le:
sys.path.insert(0,os.getenv('py'))
Au sommet d'un chemin absolu du script excel_to_csv ou une variable d'environnement sur votre système.
La chose amusante est que je connais un peu Python. Désolé à ce sujet, mais comment l'exécutez-vous? la sortie indique "~/Desktop/done/excel_to_csv.py: 9: ImportError: aucun module nommé xlrd " –
Désolé d'avoir oublié de mentionner que vous devrez installer la bibliothèque xlrd. Vous pouvez récupérer le code source ici: https://pypi.python.org/pypi/xlrd/0.9.2. J'ai seulement utilisé python sur Windows/Linux mais je suppose que c'est la même chose sur osx - vous devriez simplement décompresser le paquet puis lancer l'installation de python.py installer une fois que vous avez téléchargé – ChrisProsser
Penser à ce sujet, vous devrez peut-être ajouter Sudo à l'avant de la commande ci-dessus pour installer en tant que super-utilisateur. – ChrisProsser
Utilisez VBA dans un classeur de contrôle pour parcourir les classeurs sources dans un répertoire spécifié ou une liste de classeurs, en les ouvrant, en enregistrant les données converties, puis en les fermant à tour de rôle.
- 1. Essayer d'utiliser AppleScript pour convertir .xls et .xlsx en .txt (délimité par des tabulations), nécessite une correction
- 2. Comment générer un fichier txt délimité par des tabulations?
- 3. Asp.net créant un fichier txt délimité par des tabulations
- 4. C# Conversion .xlsx en .xls
- 5. Conversion de fichiers XLS/XLSX dans un dossier en CSV
- 6. Remplacer le texte dans la première ligne dans un énorme fichier délimité par des tabulations txt
- 7. Scripting Shell: grep et délimité par des tabulations
- 8. Cotations dans un fichier délimité par des tabulations
- 9. Suppression la plus efficace de la nième ligne de txt délimité par des tabulations
- 10. Utiliser fgetcsv pour un fichier délimité par des tabulations
- 11. modification du format d'un fichier csv délimité par des tabulations
- 12. Comment ouvrir un fichier texte délimité par des tabulations dans Excel en utilisant Perl et OLE?
- 13. C# VS2005 Convertir Tuyau délimité .TXT à Excel classeur .XLS
- 14. Regex avec texte délimité par des tabulations contenant \ x09
- 15. Convertir xls et xlsx en Datatable en C#
- 16. Comment écrire un fichier texte délimité par des tabulations en PHP, avec un encodage correct?
- 17. R: read.table produisant des résultats inattendus sur un fichier de données délimité par des tabulations
- 18. Convertir Excel xlsx en xls en Java
- 19. Python: l'indexation d'un fichier qui est délimité par des tabulations
- 20. chaîne délimité par des tabulations XML avec PHP
- 21. Création d'un fichier ASCII délimité par des tabulations dans Rails
- 22. Requête HTTP Post avec champ délimité par des tabulations
- 23. BULK INSERT fichier délimité par des tabulations - unescape \ x09
- 24. Effectuer des opérations arithmétiques sur toutes les "cellules" dans un fichier délimité par des tabulations
- 25. Filtrez plusieurs colonnes d'un fichier délimité par des tabulations?
- 26. Stockage de données ascii et binaires dans un seul fichier délimité par des tabulations
- 27. besoin de librairie pour ocr une page imprimée et créer un fichier délimité par des tabulations
- 28. Si un fichier téléchargé est au format délimité par des tabulations
- 29. Manipulation d'Excel xls et xlsx dans .NET
- 30. Suppression de colonnes avec perl sur un fichier délimité par des tabulations
Allez-vous rendre votre flux de production Automator disponible afin que je puisse voir la solution que vous avez? – Kaydell
Plusieurs fois avec Automator, il est nécessaire d'utiliser une action Automator appelée "Run AppleScript". Excel prend en charge AppleEvents pour que les scripts écrits en AppleScript (ou en Python) puissent contrôler Excel via AppleEvents. Idéalement, AppleEvents vous donne une deuxième interface utilisateur, en plus de l'interface graphique. – Kaydell
Obtenir les éléments du Finder spécifiés -> Ouvrir les classeurs Excel -> Enregistrer le classeur Excel (téléchargé http://automatorworld.com/archives/microsoft-office-automator-actions/, NON intégré) -> Fermer Excel Workbooks ------------------------------------- Le "Save Excel Workbook" personnalisé a une liste déroulante qui dit "enregistrer sous" avec les options "Nouveau", "Autre" et "Nouvelle variable". En dessous, il y a un menu déroulant pour "Format", contenant une tonne d'options que le flux de conversion Excel par défaut n'a pas. –