@danieldsf/csv-utils

A CSV library that allows reading and writing CSVs.


Keywords
csv, library, file, csv-import, csv-parser
License
ISC
Install
npm install @danieldsf/csv-utils@1.0.1

Documentation

CSV Utils

A small set of CSV utilities

This is a node.js project that aims provides a simple interface that allow developers to read and write CSV/Text files.

Installation

npm install @danieldsf/csv-utils

Example

Read a file in the current directory ("test.csv") and retrieve its headers.

const path = require('path');
const { readCSV, readCSVHeaders } = require('@danieldsf/csv-utils');

const filepath = path.join(__dirname, "test.csv");

(async () => {
  const content = await readCSV(filepath);
  const headers = await readCSVHeaders(filepath);
  // Output the results:
  console.log('Content: ', content);
  console.log('Headers: ', headers);
})();

Methods

readText

readText is a method that opens a text-file and return a list of non-empty lines as array.

Example:
let items = await readText(path);

Where path is the current path of the file you desire to open.

readCSV

readCSV is a method that opens a CSV file and returns a list of items as an array of dicts (where the keys are the columns).

Example:
let items = await readCSV(path);

Where path is the current path of the CSV file you desire to open.

readCSVHeaders

readCSVHeaders is a method that opens a CSV file and return a list of columns as a array of strings.

Example:
let columns = await readCSVHeaders(path);

Where path is the current path of the file you desire to open.

writeCSV

writeCSV is a method that stores a list of dicts into a CSV file and returns its path after finishing the operation.

Example:
let storedCSVPath = await writeCSV(path, data, headers?);

Where there are multiple params such as:

  • path: the path of the file you desire to generate.
  • data: the list of items that are going to be inserted in the file.
  • headers: the list of columns are going to be used to generate the CSV file.

writeText

writeCSV is a method that stores a list of dicts into a CSV file and returns its path after finishing the operation.

Example:
let storedTextPath = await writeText(path, data);

Where there are multiple params such as:

  • path: the path of the file you desire to generate.
  • data: the list of items that are going to be inserted in the file.

Contact

In case of any suggestion, you can open a pull request by yourself or send me an e-mail (daniel.dsfarias@gmail.com).

Thank you!