Advertisement
Guest User

Untitled

a guest
Dec 30th, 2013
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. a,b,c,d
  2. 1,2,3,4
  3. 5,6,7,8
  4. ...
  5.  
  6. [
  7. {"a": 1,"b": 2,"c": 3,"d": 4},
  8. {"a": 5,"b": 6,"c": 7,"d": 8},
  9. ...
  10. ]
  11.  
  12. var es = require('event-stream')
  13. es.pipeline( //connect streams together with `pipe`
  14. process.openStdin(), //open stdin
  15. es.split(), //split stream to break on newlines
  16. es.map(function (data, callback) { //turn this async function into a stream
  17. callback(null
  18. , JSON.stringify(parseCSVLine(data))) // deal with one line of CSV data
  19. }),
  20. process.stdout
  21. )
  22.  
  23. var Converter=require("csvtojson").core.Converter;
  24.  
  25. var csvConverter=new Converter(false); // The parameter false will turn off final result construction. It can avoid huge memory consumption while parsing. The trade off is final result will not be populated to end_parsed event.
  26.  
  27. var readStream=require("fs").createReadStream("inputData.csv");
  28.  
  29. var writeStream=require("fs").createWriteStream("outpuData.json");
  30.  
  31. var started=false;
  32. csvConverter.on("record_parsed",function(rowJSON){
  33. if (started){
  34. writeStream.write(",n");
  35. }
  36. writeStream.write(JSON.stringify(rowJSON)); //write parsed JSON object one by one.
  37. if (started==false){
  38. started=true;
  39. }
  40. });
  41.  
  42. writeStream.write("[n"); //write array symbol
  43.  
  44. csvConverter.on("end_parsed",function(){
  45. writeStream.write("n]"); //end array symbol
  46. });
  47.  
  48. csvConverter.from(readStream);
  49.  
  50. csvtojson myCSVFile.csv
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement