@satyajit_me/csv-excel-parser
v1.0.1
Published
Read and write CSV files with streaming support for large files
Maintainers
Readme
CSV Excel Parser
Read and write CSV files with streaming support for large files.
Installation
npm install csv-excel-parserQuick Start
import { parseCSV, toCSV, readCSV, writeCSV } from 'csv-excel-parser';
// Parse CSV string
const data = parseCSV(`name,age
John,30
Jane,25`);
// [{ name: 'John', age: '30' }, { name: 'Jane', age: '25' }]
// Convert to CSV
const csv = toCSV([{ name: 'John', age: 30 }]);
// 'name,age\nJohn,30'
// Read/write files
const fileData = readCSV('./data.csv');
writeCSV('./output.csv', data);API
parseCSV(string, options)
parseCSV(csvString, {
delimiter: ',', // Column delimiter
hasHeaders: true, // First row is headers
headers: null, // Custom headers array
skipEmpty: true, // Skip empty lines
trim: true // Trim values
});toCSV(data, options)
toCSV(data, {
delimiter: ',',
includeHeaders: true,
headers: null, // Specify column order
quotes: 'auto' // 'auto', 'always', 'never'
});Stream Large Files
import { streamCSV } from 'csv-excel-parser';
for await (const row of streamCSV('./large-file.csv')) {
console.log(row); // Process row by row
}Data Manipulation
// Filter rows
filterCSV(data, row => row.age > 25)
// Select columns
selectColumns(data, ['name', 'email'])
// Rename columns
renameColumns(data, { name: 'fullName', age: 'years' })
// Get column names
getColumns(csvString) // ['name', 'age', ...]File Operations
readCSV('./data.csv', options)
writeCSV('./output.csv', data, options)License
MIT
