1.0.5 • Published 2 months ago

zip_csv_to_json v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
2 months ago

zip-to-json-converter

A Node.js package to extract CSV files from a ZIP archive and convert them into JSON format.

Installation

Install the package via NPM:

npm install zip_csv_to_json

Usage

Here’s a basic usage example of how to use the package:

const { processZipFile } = require('zip-to-json-converter');

// Example: Provide the path to the zip file containing CSV files.
(async () => {
  const zipFilePath = 'path_to_your_zip_file.zip'; // Replace with your ZIP file path
  try {
    const results = await processZipFile(zipFilePath);

    results.forEach(result => {
      console.log(`File: ${result.fileName}`);
      console.log(`JSON Data:`, result.jsonPayload);
    });
  } catch (error) {
    console.error("Error processing the zip file:", error);
  }
})();

Parameters

zipFilePath

  • Description: This is the path to the ZIP file that contains one or more CSV files. The package will extract the CSV files and convert them into JSON.

Output

The function will return an array of objects where each object represents a CSV file converted into JSON format. Each object contains:

Properties

  • fileName: The name of the CSV file.
  • jsonPayload: The JSON data that corresponds to the contents of the CSV file.

Example Output :

[
  {
    "fileName": "data1.csv",
    "jsonPayload": [
      {
        "Column1": "Value1",
        "Column2": "Value2"
      },
      {
        "Column1": "Value3",
        "Column2": "Value4"
      }
    ]
  },
  {
    "fileName": "data2.csv",
    "jsonPayload": [
      {
        "ColumnA": "ValueA",
        "ColumnB": "ValueB"
      }
    ]
  }
]

API

processZipFile(zipFilePath)

  • Description: Unzips a ZIP file containing CSV files, converts each CSV file to JSON, and returns the data as an array.

Parameters

  • zipFilePath: Path to the ZIP file containing the CSV files.

Returns

A promise that resolves to an array of objects with the properties:

  • fileName: The name of the CSV file.
  • jsonPayload: The JSON data that corresponds to the contents of the CSV file.

Error Handling

If an error occurs during the extraction or conversion process, it will be caught and logged to the console:

try {
  const results = await processZipFile('path_to_your_zip_file.zip');
} catch (error) {
  console.error("Error processing the zip file:", error);
}

License

This package is licensed under the ISC License. See the LICENSE file for more information.

Author

Shishir Pandey

Feel free to contact me at shishir18pandey@gmail.com for any inquiries or contributions.