1.0.5 • Published 2 months ago
zip_csv_to_json v1.0.5
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.