36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const { parse } = require('csv-parse');
|
|
|
|
const CSV_FILE_PATH = path.join(__dirname, 'data', 'pincode.csv');
|
|
const JSON_FILE_PATH = path.join(__dirname, 'data', 'pincodes.json');
|
|
|
|
async function convertCsvToJson() {
|
|
const records = [];
|
|
const parser = fs
|
|
.createReadStream(CSV_FILE_PATH)
|
|
.pipe(parse({ columns: true, skip_empty_lines: true }));
|
|
|
|
for await (const record of parser) {
|
|
records.push({
|
|
pincode: record.pincode,
|
|
office_name: record.officename,
|
|
office_type: record.officetype,
|
|
district: record.district,
|
|
division: record.divisionname,
|
|
region: record.regionname,
|
|
state: record.statename,
|
|
latitude: record.latitude === 'NA' ? null : parseFloat(record.latitude),
|
|
longitude: record.longitude === 'NA' ? null : parseFloat(record.longitude),
|
|
});
|
|
}
|
|
|
|
fs.writeFileSync(JSON_FILE_PATH, JSON.stringify(records, null, 2));
|
|
console.log(`Converted ${records.length} records from CSV to JSON.`);
|
|
}
|
|
|
|
convertCsvToJson().catch(console.error);
|
|
|
|
|