von Patrick Gundlach |

Lua Preprocessing: CSV nach XML-Konverter

Neu in Version 3.1.10

Die neue Funktionalität des Lua-Präprozessors habe ich um Schnittstellen zu CSV und XML erweitert. Man kann nun beliebige CSV-Dateien einlesen und nach XML konvertieren, ohne eine Zeile Code zu schreiben1.

CSV nach XML nach PDF

In dem neuen Beispiel (https://github.com/speedata/examples/tree/master/technical/csvreader) ist das ausführlich in einem lauffähigen Layout gezeigt. Grundlage ist eine CSV-Datei. In dem Verzeichnis liegt eine Datei mit ausgedachten Personen:

"First name","Last name","Company name",          ...
"James",     "Butt",     "Benton",                ...
"Josephine", "Darakjy",  "Chanay, Jeffrey A Esq", ...
...

Um eine XML-Datei daraus zu erstellen, muss man als Präprozessor einfach nur das mitgelieferte Skript csv2xml.lua aufrufen. Das geht mit dem Kommandozeilenparameter --filter csv2xml.lua oder mit einem Eintrag in der Konfigurationsdatei publisher.cfg (siehe Beispiel).

Das reicht aus, um die Datendatei zu erstellen. Die Form der Datendatei ist

<data>
  <row>
    <cell>First name</cell>
    <cell>Last name</cell>
    <cell>Company name</cell>
  </row>
  <row>
    <cell>James</cell>
    <cell>Butt</cell>
    <cell>Benton, John B Jr</cell>
  </row>
  <row>
    <cell>Josephine</cell>
    <cell>Darakjy</cell>
    <cell>Chanay, Jeffrey A Esq</cell>
  </row>
  ....

Das, zusammen mit dem sehr einfach gehaltenen Layout, reicht aus, um beliebige CSV-Daten in eine Tabelle in PDF zu konvertieren.


  1. Das Abändern eines Dateinamens in dem Lua-Skript kann nicht als »Code schreiben« gezählt werden. ↩︎