Read and write CSV files with streaming support for large files
npm install @satyajit_me/csv-excel-parserbash
npm install csv-excel-parser
`
Quick Start
`javascript
import { parseCSV, toCSV, readCSV, writeCSV } from 'csv-excel-parser';
// Parse CSV string
const data = parseCSV(name,age
);
// [{ 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
$3
`javascript
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
});
`
$3
`javascript
toCSV(data, {
delimiter: ',',
includeHeaders: true,
headers: null, // Specify column order
quotes: 'auto' // 'auto', 'always', 'never'
});
`
$3
`javascript
import { streamCSV } from 'csv-excel-parser';
for await (const row of streamCSV('./large-file.csv')) {
console.log(row); // Process row by row
}
`
$3
`javascript
// 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', ...]
`
$3
`javascript
readCSV('./data.csv', options)
writeCSV('./output.csv', data, options)
``