Skip to content

ashleydavis/datakit

Repository files navigation

datakit

Simple toolkit for reading and writing data CSV and JSON files in JavaScript and TypeScript under Node.js.

API docs

CLI docs

Support my work

Install

Install using npm:

npm install --save datakit

Install globally for the command line tools:

npm install -g datakit

Read and write CSV files (JavaScript)

Ready to see some code?

Here's an example of transforming a CSV file using JavaScript:

const { readCsv, writeCsv } = require("datakit");

function transform(record) {
    // Your function to transform a data record.
}

async function main() {
    const data = await readCsv("./some/file.csv");
    const transformed = data.map(transform);
    await writeCsv("./an/output/file.csv", transformed);
}

main()
    .then(() => console.log("Done"))
    .catch(err => {
        console.error("Something went wrong.");
        console.error(err && err.stack || err);
    });

Read and write JSON files (TypeScript)

Here's a similar code example using TypeScript.

This time we are reading and writing JSON files:

import { readJson, writeJson } from "datakit";

function transform(record: InputT): OutputT {
    // Your function to transform a data record.
}

async function main(): Promise<void> {
    const data = await readJson("./some/file.json");
    const transformed = data.map(transform);
    await writeJson("./an/output/file.json", transformed);
}

main()
    .then(() => console.log("Done"))
    .catch(err => {
        console.error("Something went wrong.");
        console.error(err && err.stack || err);
    });

You can also read and write YAML files using similar functions.

Need to do more?

Consider using Data-Forge for data transformation, analysis and visualization in JavaScript and TypeScript.

Resources

Support the developer

Click here to support the developer.

About

Simple JavaScript toolkit for data transform across JSON, CSV and YAML.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published