Skip to content

Data Transform

CSV, JSON, XML, YAML parsing, generation, and pipeline transformations.

16 modules

ModuleDescription
CSV-Datei lesenCSV-Datei lesen und in Array von Objekten parsen
CSV-Datei schreibenArray von Objekten in CSV-Datei schreiben
JSON parsenJSON-String in Objekt parsen
JSON-StringifyObjekt in JSON-String konvertieren
JSON zu CSVJSON-Daten oder -Dateien in CSV-Format konvertieren
Daten-PipelineMehrere Datenumwandlungen in einem Schritt verketten
TextvorlageTextvorlage mit Variablen füllen
XML erzeugenXML-String aus Objekt oder Array erzeugen
XML parsenXML-String in Objekt parsen
YAML erzeugenYAML-String aus Objekt oder Array erzeugen
YAML parsenYAML-String in Objekt parsen
Objekt-SchlüsselAlle Schlüssel aus einem Objekt abrufen
Objekt zusammenführenMehrere Objekte zu einem zusammenführen
Objekt auslassenBestimmte Schlüssel aus einem Objekt auslassen
Objekt auswählenBestimmte Schlüssel aus einem Objekt auswählen
Objekt-WerteAlle Werte aus einem Objekt abrufen

Modules

CSV-Datei lesen

data.csv.read

CSV-Datei lesen und in Array von Objekten parsen

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the file
delimiterselect (,, ;, , `, `)No,
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Character encoding for the file
skip_headerbooleanNoFalseSkip first row (header)

Output:

FieldTypeDescription
statusstringOperationsstatus
dataarrayOperationsstatus
rowsnumberOperationsstatus
columnsarrayArray von Zeilenobjekten

Example: Example

yaml
file_path: data/users.csv
delimiter: ,
encoding: utf-8

CSV-Datei schreiben

data.csv.write

Array von Objekten in CSV-Datei schreiben

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the file
dataarrayYes-Array of data items to process
delimiterselect (,, ;, , `, `)No,
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Character encoding for the file

Output:

FieldTypeDescription
statusstringOperationsstatus
file_pathstringOperationsstatus
rows_writtennumberOperationsstatus

Example: Example

yaml
file_path: output/results.csv
data: [{"name": "John", "score": 95}, {"name": "Jane", "score": 87}]

JSON parsen

data.json.parse

JSON-String in Objekt parsen

Parameters:

NameTypeRequiredDefaultDescription
json_stringstringYes-JSON string to parse into an object or array

Output:

FieldTypeDescription
statusstringOperationsstatus
dataobjectOperationsstatus

Example: Example

yaml
json_string: {"name": "John", "age": 30}

JSON-Stringify

data.json.stringify

Objekt in JSON-String konvertieren

Parameters:

NameTypeRequiredDefaultDescription
dataobjectYes-Data object to process
prettybooleanNoFalseFormat with indentation
indentnumberNo2Indentation spaces (if pretty=true)

Output:

FieldTypeDescription
statusstringOperationsstatus
jsonstringOperationsstatus

Example: Example

yaml
data: {"name": "John", "age": 30}
pretty: true

JSON zu CSV

data.json_to_csv

JSON-Daten oder -Dateien in CSV-Format konvertieren

Parameters:

NameTypeRequiredDefaultDescription
input_dataanyYes-JSON data (array of objects) or path to JSON file
output_pathstringNo/tmp/output.csvPath where the output file will be saved
delimiterselect (,, ;, , `, `)No,
include_headerbooleanNoTrueInclude column headers in first row
flatten_nestedbooleanNoTrueFlatten nested objects using dot notation (e.g., address.city)
columnsarrayNo[]Specific columns to include (empty = all columns)

Output:

FieldTypeDescription
output_pathstringPfad zur generierten CSV-Datei
row_countnumberPfad zur generierten CSV-Datei
column_countnumberPfad zur generierten CSV-Datei
columnsarrayAnzahl der geschriebenen Zeilen

Example: Convert JSON array to CSV

yaml
input_data: [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]
output_path: /tmp/users.csv

Example: Convert JSON file

yaml
input_data: /path/to/data.json
output_path: /path/to/output.csv

Daten-Pipeline

data.pipeline

Mehrere Datenumwandlungen in einem Schritt verketten

Parameters:

NameTypeRequiredDefaultDescription
inputanyYes-Eingabedaten zur Umwandlung (Array oder Objekt)
stepsarrayYes-Eingabedaten zur Umwandlung (Array oder Objekt)

Output:

FieldTypeDescription
resultanyArray von Umwandlungsschritten, die in Reihenfolge angewendet werden
original_countintegerUmgewandelte Daten
result_countintegerUmgewandelte Daten
steps_appliedintegerAnzahl der Elemente nach der Umwandlung

Example: Example

yaml
input: ${input.users}
steps: [{"filter": {"field": "active", "condition": "eq", "value": true}}, {"sort": {"field": "name", "order": "asc"}}]

Example: Example

yaml
input: ${input.records}
steps: [{"map": {"extract": "id"}}, {"limit": 10}]

Example: Example

yaml
input: ${input.data}
steps: [{"filter": {"field": "status", "condition": "eq", "value": "completed"}}, {"pick": ["id", "name", "timestamp"]}, {"sort": {"field": "timestamp", "order": "desc"}}, {"skip": 5}, {"limit": 20}]

Textvorlage

data.text.template

Textvorlage mit Variablen füllen

Parameters:

NameTypeRequiredDefaultDescription
templatestringYes-Text template with {variable} placeholders
variablesobjectYes-Object with variable values

Output:

FieldTypeDescription
statusstringOperationsstatus
resultstringOperationsstatus

Example: Example

yaml
template: Hello {name}, you scored {score} points!
variables: {"name": "Alice", "score": 95}

XML erzeugen

data.xml.generate

XML-String aus Objekt oder Array erzeugen

Parameters:

NameTypeRequiredDefaultDescription
dataobjectYes-Daten, die in XML umgewandelt werden sollen
root_tagstringNorootTag-Name des Wurzelelements
prettybooleanNoTrueXML-Ausgabe schön formatieren
encodingstringNoutf-8Zeichenkodierung für die XML-Ausgabe
declarationbooleanNoTrueXML-Deklarationskopf einfügen

Output:

FieldTypeDescription
xmlstringErzeugter XML-String

Example: Example

yaml
data: {"user": {"@attributes": {"id": "1"}, "name": "John", "age": "30"}}
root_tag: users
pretty: true

XML parsen

data.xml.parse

XML-String in Objekt parsen

Parameters:

NameTypeRequiredDefaultDescription
contentstringNo-Zu parsende XML-Zeichenfolge
file_pathstringNo-Pfad zur zu parsenden XML-Datei
preserve_attributesbooleanNoTrueXML-Attribute in der geparsten Ausgabe beibehalten

Output:

FieldTypeDescription
resultobjectGeparstes XML als Objekt
root_tagstringTag-Name des Wurzelelements

Example: Example

yaml
content: <users><user id="1"><name>John</name></user></users>
preserve_attributes: true

YAML erzeugen

data.yaml.generate

YAML-String aus Objekt oder Array erzeugen

Parameters:

NameTypeRequiredDefaultDescription
dataanyYes-Daten, die in YAML umgewandelt werden sollen
default_flow_stylebooleanNoFalseFlow-Stil für verschachtelte Strukturen verwenden
sort_keysbooleanNoFalseSchlüssel alphabetisch sortieren
indentnumberNo2Anzahl der Leerzeichen für Einrückung
allow_unicodebooleanNoTrueUnicode-Zeichen in der Ausgabe erlauben

Output:

FieldTypeDescription
yamlstringErzeugter YAML-String

Example: Example

yaml
data: {"name": "John", "age": 30, "cities": ["NYC", "LA"]}
sort_keys: false
indent: 2

YAML parsen

data.yaml.parse

YAML-String in Objekt parsen

Parameters:

NameTypeRequiredDefaultDescription
contentstringNo-Zu parsende YAML-Zeichenfolge
file_pathstringNo-Pfad zur zu parsenden YAML-Datei
multi_documentbooleanNoFalseMehrdokument-YAML parsen (getrennt durch ---)

Output:

FieldTypeDescription
resultanyGeparstes YAML als Objekt oder Array
typestringTyp des geparsten Ergebnisses

Example: Example

yaml
content: name: John
age: 30
cities:
  - NYC
  - LA
multi_document: false

Example: Example

yaml
content: ---
name: John
---
name: Jane
multi_document: true

Objekt-Schlüssel

object.keys

Alle Schlüssel aus einem Objekt abrufen

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-Input object/dictionary

Output:

FieldTypeDescription
keysarrayListe der Objekt-Schlüssel
countnumberListe der Objekt-Schlüssel

Example: Get object keys

yaml
object: {"name": "John", "age": 30, "city": "NYC"}

Objekt zusammenführen

object.merge

Mehrere Objekte zu einem zusammenführen

Parameters:

NameTypeRequiredDefaultDescription
objectsarrayYes-Array of objects to process

Output:

FieldTypeDescription
resultobjectZusammengeführtes Objekt

Example: Merge user data

yaml
objects: [{"name": "John", "age": 30}, {"city": "NYC", "country": "USA"}, {"job": "Engineer"}]

Objekt auslassen

object.omit

Bestimmte Schlüssel aus einem Objekt auslassen

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-Input object/dictionary
keysarrayYes-Keys to pick or omit

Output:

FieldTypeDescription
resultobjectObjekt ohne ausgelassene Schlüssel

Example: Omit sensitive fields

yaml
object: {"name": "John", "age": 30, "password": "secret", "ssn": "123-45-6789"}
keys: ["password", "ssn"]

Objekt auswählen

object.pick

Bestimmte Schlüssel aus einem Objekt auswählen

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-Input object/dictionary
keysarrayYes-Keys to pick or omit

Output:

FieldTypeDescription
resultobjectObjekt mit nur ausgewählten Schlüsseln

Example: Pick user fields

yaml
object: {"name": "John", "age": 30, "email": "john@example.com", "password": "secret"}
keys: ["name", "email"]

Objekt-Werte

object.values

Alle Werte aus einem Objekt abrufen

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-Input object/dictionary

Output:

FieldTypeDescription
valuesarrayListe der Objekt-Werte
countnumberListe der Objekt-Werte

Example: Get object values

yaml
object: {"name": "John", "age": 30, "city": "NYC"}

Released under the Apache 2.0 License.