
IonToCsv
Convert an ION file into CSV.
type: "io.kestra.plugin.serdes.csv.IonToCsv"Examples
Download a CSV file, transform it in SQL and store the transformed data as a CSV file.
id: ion_to_csv
namespace: company.team
tasks:
- id: download_csv
type: io.kestra.plugin.core.http.Download
description: salaries of data professionals from 2020 to 2023 (source ai-jobs.net)
uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/salaries.csv
- id: avg_salary_by_job_title
type: io.kestra.plugin.jdbc.duckdb.Query
inputFiles:
data.csv: "{{ outputs.download_csv.uri }}"
sql: |
SELECT
job_title,
ROUND(AVG(salary),2) AS avg_salary
FROM read_csv_auto('{{ workingDir }}/data.csv', header=True)
GROUP BY job_title
HAVING COUNT(job_title) > 10
ORDER BY avg_salary DESC;
store: true
- id: result
type: io.kestra.plugin.serdes.csv.IonToCsv
from: "{{ outputs.avg_salary_by_job_title.uri }}"
Properties
from*Requiredstring
Source file URI
Pebble expression referencing an Internal Storage URI e.g. {{ outputs.mytask.uri }}.
alwaysDelimitTextbooleanstring
falseWhether fields should always be delimited using the textDelimiter option.
charsetstring
UTF-8The name of a supported charset
dateFormatstring
yyyy-MM-ddFormat to use for date
dateTimeFormatstring
yyyy-MM-dd'T'HH:mm:ss.SSS[XXX]Format to use for zoned datetime
fieldSeparatorstring
,The field separator character
headerbooleanstring
trueSpecifies if the first line should be the header
lineDelimiterstring
The character used to separate rows
textDelimiterstring
"The text delimiter character
timeFormatstring
HH:mm:ss[XXX]Format to use for time
timeZoneIdstring
Etc/UTCTimezone to use when no timezone can be parsed on the source.
Outputs
uristring
uriURI of a temporary result file
Metrics
recordscounter
Number of records converted