Eine Csv-Datei aus Jpg-Dateien erstellen

Meine Freundin schreibt gerade an ihrer Diplomarbeit und muss dafür große Mengen an Archivfotos betiteln und verschlagworten. Um die Übersicht zu behalten, wollte sie händisch eine Excel-Liste all dieser Fotos erstellen. Als großer Automatisierungsfan habe ich sie davon abgehalten.
Es kann ja kein Problem sein, die von ihr mit Picasa eingetragenen Tags etc. aus den Exifs auszulesen und in eine Datei zu schreiben. Ein Kontaktabzug ohne Bilder halt…
Nun ja, ein Problem wurde es dann doch als ich die gängigen Programme nach genau so einer Csv-Listen-Exportfunktion absuchte. Die gibt es nämlich nicht — nirgends. Nicht in Picasa, nicht in Bridge, noch sonst in einem der mir am Mac bekannten Programme. Picasa kann eine Xml-Datei exportieren, doch die ist mangels irgendwelcher Einstellungsmöglichkeiten quasi unbrauchbar.
Die Lösung des Problems war mühsam, aber vielleicht effizienter als das manuelle Erstellen der Excel-Liste.

Exif-Auslesen und Csv-Schreiben mit Automator und den Exiftools

Voraussetzungen:

Der Automator-Arbeitsablauf besteht nur aus zwei Aktionen und vier Zeilen Shell-Skript.

Screenshot Finder Arbeitsablauf

Zur Erklärung:
Die erste Aktion öffnet ein Finderfenster in welchem die gewünschten Bilddateien ausgewählt werden. Vorsicht! Das nachfolgende Shell-Skript funktioniert nicht, wenn sich im Bildpfad Leerzeichen, Bindestriche oder sonstige nicht Terminaltaugliche Sonderzeichen befinden.
Die zweite Aktion ruft in der ersten Zeile die Finderpfade ab und schreibt sie in eine Variable. Dann wird Exiftools aufgerufen und mit folgenden Parametern gesteuert:

-T schreibt die von Exiftools gesammelten Daten in eine tab-getrennte txt-Datei.
-r die genaue Funktion davon hab ich selbst nicht verstanden
-filename schreibt den Dateinamen
-System:Directory gibt den Pfad der jeweiligen Datei an. Die Systematik beruht auf den Bezeichnungen in der Exif-Datei. Rubrik:Feldname
$@ > out.txt gibt dem Skript die Pfade aus der in Zeile 1 definierten Variable und sagt ihm, dass es in die Datei out.txt schreiben soll (Die out.txt wird direkt im Benutzerordner abgelegt)

Das Ausführen des Skriptes nimmt bei einer größerern Anzahl an Fotos doch einige Zeit in Anspruch (Für rund 140 Fotos gefüllte zehn Minuten). Die out.txt kann dann problemlos in Excel/NeoOffice/Libreoffice/etc. eingelesen werden.

Folgende Seiten waren besonders hilfreich:

Kommentare

  1. Hi Peter

    Das -r steht für rekursiv, exiftools durchsucht damit das angegebene Verzeichnis und alle Unterverzeichnisse.

    Eventuell ist für dich auch folgendes interessant als Option:

    -csv[=CSVFILE] schreibt die Tags in eine CSV Datei, also durch Komma getrennt.

    Lg

    — Florian · Apr 14, 23:54 · #

  2. Hallo Florian,

    Danke, jetzt versteh ich das -r.
    Die -csv-Funktion habe ich auch probiert, allerdings hat exiftools bei meinen Varianten nur leere Files produziert.

    lg
    Peter

    Peter Pesseg · Apr 15, 08:05 · #

 

|