Schlagwort Archiv: csv

HowTo: Unterstützung für beliebige csv-Formate

#bankstatement #howto

Am Beispiel der neuen csv-Formatdatei csv-standard-bank-na.def möchte ich hier mal hoffentlich allgemeinverständlich erklären, wie man mehr oder wenig beliebige csv-Formate unterstützen kann. Nimm einfach eine der existierenden Dateien und passe sie entsprechend an!

  1. Zunächst legt man die Reihenfolge der Schlüssel in der csv-Datei fest.
  2. Danach definiert man \STM@JK@DTLforeach ; ein Makro das die csv-Datei zeilenweise einliest und als LaTeX-Tabellenzeile ausgibt. Es nutzt dazu das \DTLforeach Makro (datatool.sty)

    • Als erstes Argument übergibt man den Namen der csv-Datei. Keine Änderung!
    • Im zweiten Argument mappt man die csv-Schlüssel auf Makros
    • Im dritten und letzten Argument erfolgt die Ausgabe der dreispaltigen Tabellenzeile
      • In der ersten Spalte erfolgt die Ausgabe des Buchungs- und Wertstellungstags
      • In der zweiten Spalte wird der Verwendungszweck ausgegeben, der aus mehreren csv-Schlüsseln aufgebaut sein kann.
      • In der dritten Spalte erfolgt die Ausgabe des Betrags. Ein negativer Betrag wird dabei in Rot (negativcolor Option) gesetzt
      • Abschließend erfolgt ein Test auf die letzte Datenzeile und die Ausgabe des Schlußsaldos bzw. einer Leerzeile
  3. Im letzten Schritt definieren wir den Trenner der csv-Datei und legen fest, ob sie über eine Kopfzeile verfügt (Achtung: header → noheader=false! (noheader Option (datatool.sty))). Die letzte Zeile kann man überlicherweise einfach kopieren (siunitx-Setup)!

Damit gelingt hoffentlich die Anpassung und Unterstützung anderer csv-Formate! 😉