Skip to content

Data Transform

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

16 modules

ModuleDescription
Lire un fichier CSVLire et analyser un fichier CSV en tableau d'objets
Ecrire un fichier CSVEcrire un tableau d'objets dans un fichier CSV
Analyser JSONAnalyser une chaine JSON en objet
JSON vers chaineConvertir un objet en chaine JSON
JSON vers CSVConvertir des donnees ou fichiers JSON au format CSV
Pipeline de donnéesEnchaînez plusieurs transformations de données en une seule étape
Modele de texteRemplir un modele de texte avec des variables
Générer XMLGénérer une chaîne XML à partir d'un objet ou d'un tableau
Analyser XMLAnalyser une chaîne XML en objet
Générer YAMLGénérer une chaîne YAML à partir d'un objet ou d'un tableau
Analyser YAMLAnalyser une chaîne YAML en objet
Cles d'objetObtenir toutes les cles d'un objet
Fusionner des objetsFusionner plusieurs objets en un seul
Omettre de l'objetOmettre des cles specifiques d'un objet
Selectionner de l'objetSelectionner des cles specifiques d'un objet
Valeurs d'objetObtenir toutes les valeurs d'un objet

Modules

Lire un fichier CSV

data.csv.read

Lire et analyser un fichier CSV en tableau d'objets

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
statusstringStatut de l'operation
dataarrayStatut de l'operation
rowsnumberStatut de l'operation
columnsarrayTableau d'objets de lignes

Example: Example

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

Ecrire un fichier CSV

data.csv.write

Ecrire un tableau d'objets dans un fichier CSV

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
statusstringStatut de l'operation
file_pathstringStatut de l'operation
rows_writtennumberStatut de l'operation

Example: Example

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

Analyser JSON

data.json.parse

Analyser une chaine JSON en objet

Parameters:

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

Output:

FieldTypeDescription
statusstringStatut de l'operation
dataobjectStatut de l'operation

Example: Example

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

JSON vers chaine

data.json.stringify

Convertir un objet en chaine JSON

Parameters:

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

Output:

FieldTypeDescription
statusstringStatut de l'operation
jsonstringStatut de l'operation

Example: Example

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

JSON vers CSV

data.json_to_csv

Convertir des donnees ou fichiers JSON au format CSV

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_pathstringChemin vers le fichier CSV genere
row_countnumberChemin vers le fichier CSV genere
column_countnumberChemin vers le fichier CSV genere
columnsarrayNombre de lignes ecrites

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

Pipeline de données

data.pipeline

Enchaînez plusieurs transformations de données en une seule étape

Parameters:

NameTypeRequiredDefaultDescription
inputanyYes-Données d'entrée à transformer (tableau ou objet)
stepsarrayYes-Données d'entrée à transformer (tableau ou objet)

Output:

FieldTypeDescription
resultanyTableau des étapes de transformation à appliquer dans l'ordre
original_countintegerDonnées transformées
result_countintegerDonnées transformées
steps_appliedintegerNombre d'éléments après transformation

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}]

Modele de texte

data.text.template

Remplir un modele de texte avec des variables

Parameters:

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

Output:

FieldTypeDescription
statusstringStatut de l'operation
resultstringStatut de l'operation

Example: Example

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

Générer XML

data.xml.generate

Générer une chaîne XML à partir d'un objet ou d'un tableau

Parameters:

NameTypeRequiredDefaultDescription
dataobjectYes-Données à convertir en XML
root_tagstringNorootNom de l'élément racine
prettybooleanNoTrueImprimer joliment la sortie XML
encodingstringNoutf-8Encodage des caractères pour la sortie XML
declarationbooleanNoTrueInclure l'en-tête de déclaration XML

Output:

FieldTypeDescription
xmlstringChaîne XML générée

Example: Example

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

Analyser XML

data.xml.parse

Analyser une chaîne XML en objet

Parameters:

NameTypeRequiredDefaultDescription
contentstringNo-Chaîne XML à analyser
file_pathstringNo-Chemin du fichier XML à analyser
preserve_attributesbooleanNoTrueConserver les attributs XML dans la sortie analysée

Output:

FieldTypeDescription
resultobjectXML analysé en tant qu'objet
root_tagstringNom de l'élément racine

Example: Example

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

Générer YAML

data.yaml.generate

Générer une chaîne YAML à partir d'un objet ou d'un tableau

Parameters:

NameTypeRequiredDefaultDescription
dataanyYes-Données à convertir en YAML
default_flow_stylebooleanNoFalseUtiliser le style flux pour les structures imbriquées
sort_keysbooleanNoFalseTrier les clés par ordre alphabétique
indentnumberNo2Nombre d'espaces pour l'indentation
allow_unicodebooleanNoTrueAutoriser les caractères unicode dans la sortie

Output:

FieldTypeDescription
yamlstringChaîne YAML générée

Example: Example

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

Analyser YAML

data.yaml.parse

Analyser une chaîne YAML en objet

Parameters:

NameTypeRequiredDefaultDescription
contentstringNo-Chaîne YAML à analyser
file_pathstringNo-Chemin du fichier YAML à analyser
multi_documentbooleanNoFalseAnalyser le YAML multi-document (séparé par ---)

Output:

FieldTypeDescription
resultanyYAML analysé en tant qu'objet ou tableau
typestringType du résultat analysé

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

Cles d'objet

object.keys

Obtenir toutes les cles d'un objet

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-Input object/dictionary

Output:

FieldTypeDescription
keysarrayListe des cles de l'objet
countnumberListe des cles de l'objet

Example: Get object keys

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

Fusionner des objets

object.merge

Fusionner plusieurs objets en un seul

Parameters:

NameTypeRequiredDefaultDescription
objectsarrayYes-Array of objects to process

Output:

FieldTypeDescription
resultobjectObjet fusionne

Example: Merge user data

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

Omettre de l'objet

object.omit

Omettre des cles specifiques d'un objet

Parameters:

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

Output:

FieldTypeDescription
resultobjectObjet sans les cles omises

Example: Omit sensitive fields

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

Selectionner de l'objet

object.pick

Selectionner des cles specifiques d'un objet

Parameters:

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

Output:

FieldTypeDescription
resultobjectObjet avec uniquement les cles selectionnees

Example: Pick user fields

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

Valeurs d'objet

object.values

Obtenir toutes les valeurs d'un objet

Parameters:

NameTypeRequiredDefaultDescription
objectobjectYes-Input object/dictionary

Output:

FieldTypeDescription
valuesarrayListe des valeurs de l'objet
countnumberListe des valeurs de l'objet

Example: Get object values

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

Released under the Apache 2.0 License.