Reputation:
I am using the csvtojson
npm package, but I get the conversion in ascii instead of text as utf16. This is the function I use:
const fs = require('fs');
const csvFilePath='./download/negocio.csv'
const csv=require('csvtojson');
app.get('/api', async(req, res) => {
const jsonArray=await csv().fromFile(csvFilePath);
res.json(jsonArray);
});
This is what I get:
[{"��K\u0000e\u0000y\u0000w\u0000o\u0000r\u0000d\u0000 \u0000S\u0000t\u0000a\u0000t\u0000s\u0000 \u00002\u00000\u00001\u00009\u0000-\u00000\u00008\u0000-\u00002\u00004\u0000 \u0000a\u0000t\u0000 \u00001\u00007\u0000_\u00000\u00000\u0000_\u00004\u00009\u0000":"\u00001\u0000 \u0000d\u0000e\u0000 \u0000a\u0000g\u0000o\u0000s\u0000t\u0000o\u0000 \u0000d\u0000e\u0000 \u00002\u00000\u00001\u00008\u0000 \u0000-\u0000 \u00003\u00001\u0000 \u0000d\u0000e\u0000 \u0000j\u0000u\u0000l\u0000i\u0000o\u0000 \u0000d\u0000e\u0000 \u00002\u00000\u00001\u00009\u0000"},{"��K\u0000e\u0000y\u0000w\u0000o\u0000r\u0000d\u0000 \u0000S\u0000t\u0000a\u0000t\u0000s\u0000 \u00002\u00000\u00001\u00009\u0000-\u00000\u00008\u0000-\u00002\u00004\u0000 \u0000a\u0000t\u0000 \u00001\u00007\u0000_\u00000\u00000\u0000_\u00004\u00009\u0000":"\u0000K\u0000e\u0000y\u0000w\u0000o\u0000r\u0000d\u0000\t\u0000C\u0000u\u0000r\u0000r\u0000e\u0000n\u0000c\u0000y\u0000\t\u0000A\u0000v\u0000g\u0000.\u0000 \u0000m\u0000o\u0000n\u0000t\u0000h\u0000l\u0000y\u0000 \u0000s\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000\t\u0000M\u0000i\u0000n\u0000 \u0000s\u0000e\u0000a\u0000r\u0000c\u0000h\u0000 \u0000v\u0000o\u0000l\u0000u\u0000m\u0000e\u0000\t\u0000M\u0000a\u0000x\u0000 \u0000s\u0000e\u0000a\u0000r\u0000c\u0000h\u0000 \u0000v\u0000o\u0000l\u0000u\u0000m\u0000e\u0000\t\u0000C\u0000o\u0000m\u0000p\u0000e\u0000t\u0000i\u0000t\u0000i\u0000o\u0000n\u0000\t\u0000C\u0000o\u0000m\u0000p\u0000e\u0000t\u0000i\u0000t\u0000i\u0000o\u0000n\u0000 \u0000(\u0000i\u0000n\u0000d\u0000e\u0000x\u0000e\u0000d\u0000 \u0000v\u0000a\u0000l\u0000u\u0000e\u0000)\u0000\t\u0000T\u0000o\u0000p\u0000 \u0000o\u0000f\u0000 \u0000p\u0000a\u0000g\u0000e\u0000 \u0000b\u0000i\u0000d\u0000 \u0000(\u0000l\u0000o\u0000w\u0000 \u0000r\u0000a\u0000n\u0000g\u0000e\u0000)\u0000\t\u0000T\u0000o\u0000p\u0000 \u0000o\u0000f\u0000 \u0000p\u0000a\u0000g\u0000e\u0000 \u0000b\u0000i\u0000d\u0000 \u0000(\u0000h\u0000i\u0000g\u0000h\u0000 \u0000r\u0000a\u0000n\u0000g\u0000e\u0000)\u0000\t\u0000A\u0000d\u0000 \u0000i\u0000m\u0000p\u0000r\u0000e\u0000s\u0000s\u0000i\u0000o\u0000n\u0000 \u0000s\u0000h\u0000a\u0000r\u0000e\u0000\t\u0000O\u0000r\u0000g\u0000a\u0000n\u0000i\u0000c\u0000 \u0000i\u0000m\u0000p\u0000r\u0000e\u0000s\u0000s\u0000i\u0000o\u0000n\u0000 \u0000s\u0000h\u0000a\u0000r\u0000e\u0000\t\u0000O\u0000r\u0000g\u0000a\u0000n\u0000i\u0000c\u0000 \u0000a\u0000v\u0000e\u0000r\u0000a\u0000g\u0000e\u0000 \u0000p\u0000o\u0000s\u0000i\u0000t\u0000i\u0000o\u0000n\u0000\t\u0000I\u0000n\u0000 \u0000a\u0000c\u0000c\u0000o\u0000u\u0000n\u0000t\u0000?\u0000\t\u0000I\u0000n\u0000 \u0000p\u0000l\u0000a\u0000n\u0000?\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000A\u0000u\u0000g\u0000 \u00002\u00000\u00001\u00008\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000S\u0000e\u0000p\u0000 \u00002\u00000\u00001\u00008\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000O\u0000c\u0000t\u0000 \u00002\u00000\u00001\u00008\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000N\u0000o\u0000v\u0000 \u00002\u00000\u00001\u00008\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000D\u0000e\u0000c\u0000 \u00002\u00000\u00001\u00008\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000J\u0000a\u0000n\u0000 \u00002\u00000\u00001\u00009\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000F\u0000e\u0000b\u0000 \u00002\u00000\u00001\u00009\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000M\u0000a\u0000r\u0000 \u00002\u00000\u00001\u00009\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000A\u0000p\u0000r\u0000 \u00002\u00000\u00001\u00009\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000M\u0000a\u0000y\u0000 \u00002\u00000\u00001\u00009\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000J\u0000u\u0000n\u0000 \u00002\u00000\u00001\u00009\u0000\t\u0000S\u0000e\u0000a\u0000r\u0000c\u0000h\u0000e\u0000s\u0000:\u0000 \u0000J\u0000u\u0000l\u0000 \u00002\u00000\u00001\u00009\u0000"},
Upvotes: 2
Views: 1563
Reputation: 797
You should encode the data with the toString()
method:
from the examples of csvtojson:
const csv=require('csvtojson')
csv()
.on('data',(data)=>{
//data is a buffer object
const jsonStr= data.toString('utf8')
})
For your problem you should probably do:
const jsonArray=await csv().fromFile(csvFilePath);
jsonArray = jsonArray.toString('utf16');
res.json(jsonArray);
Upvotes: 1