Script um CSV Datei umzuwandeln

LbbnPx

Aktives Mitglied
Thread Starter
Dabei seit
19.06.2008
Beiträge
451
Reaktionspunkte
80
Ich habe ein kleines, aber regelmäßiges Problem. Aus einer Software (Tool 1) exportiere ich Daten als CSV Datei. In einer anderen Software (Tool 2) muss ich diese Daten ebenfalls als CSV Datei wieder importieren. Das blöde dabei, natürlich erwartet Tool 2 einen komplett anderes Format als Tool 1 es liefert. D.h. die Reihenfolge der Spalten muss geändert werden, Spaltenüberschriften geändert u.s.w.

Zur Zeit mache ich das mit Ninox, das geht relativ einfach - aber wenn man das mehrmals die Woche machen muss ist es noch immer recht zeitaufwändig. Daher möchte ich mir einen kleinen Script schreiben, so dass ich die Umwandlung automatisch mit 1-2 Mausklicken machen kann :)

Auch wenn ich grundsätzlich entwickeln kann, habe ich es mit Scripten nicht so. Die erste Frage vorab ist daher, ist Apple Script für das genannte vorhaben geeignet? Also CSV Datei lesen, Schleife darüber, in Array stellen, neues Array aufbauen, in neue Datei schreiben? Oder sollte ich lieber Python oder was anderes nehmen?

Edit: Wichtig wäre nur, dass ich den Script in das "Dienste" Menü im Finder hängen kann, um so die Originaldatei per Rechts-Klick an den Script übergeben zu können.
 
... und das script dann in einen apple script/automator starter packen.
 
Ich habe das jetzt in Python geschrieben, war recht einfach insbesondere da Python ein cooles "CSV" Objekt bietet mit dem ich die Ursprungsdatei direkt parsen kann und mit dem Namen der Spaltenüberschrift auf die passenden Feldwerte zugreifen. Gefällt mir diese Sprache, obwohl ich noch nie damit Kontakt hatte konnte ich meinen Script in 2-3 Stunden fertigstellen, sehr leicht zu lernen :)

Schwieriger war fast die Einbindung in Automator, da die eingebaute Aktion "Shell Script ausführen" nur auf Python 2.7 geht, ich aber Python 3.5 installieren musste da die alte Version Probleme hatte meine Ausgangsdatei richtig zu lesen (Latin1 codiert). Habe es jetzt so gelöst dass ich in Automator /bin/bash starte und mit einem Bash Befehl ("/Library/Frameworks/Python.framework/Versions/3.5/bin/python3 mein_script.py $@") den Python Script starte. Nur falls jemand mal das gleiche Problem hat.

Aber jetzt ist es toll. Rechtsklick auf die Datei, Script im Dienste Menü auswählen, neue Datei ist da. Herrlich :)
 
das müsste man evtl. auch mit shebang
Code:
#!/usr/bin/env python3
in den griff kriegen.

edit: geht doch nicht.
man kann aber python3 in die automator-liste in "/System/Library/Automator/Run Shell Script.action/Contents/Resources/Shells.plist" reinschreiben.
 
Zuletzt bearbeitet:
Zurück
Oben Unten