我正在尝试从文件中获取更新数据,当文件发生变化时我正在使用fs.watch来观察更改,但是如何获取更新数据以便我可以将csv解析为json
nodejs代码:
var express=require("express");
var app=express();
var http = require('http');
var fs = require('fs');
var Converter = require("csvtojson").Converter;
var converter = new Converter({constructResult:false});
fs.createReadStream("test.xlsx").pipe(converter);
//record_parsed will be emitted each csv row being processed
converter.on("record_parsed", function (jsonObj) {
console.log(jsonObj); //here is your result json obje
app.get("/",function(req,res)
{
console.log("listening\n");
fs.watch('test.csv', function (event, filename) {
console.log('event is: ' + event);
//record_parsed will be emitted each csv row being processed
converter.on("record_parsed", function (jsonObj) {
console.log(jsonObj); //here is your result json object
});
});
});
app.listen(8180);
console.log("running");
答案 0 :(得分:0)
您可以考虑使用tail-stream或至少查看其源代码。
扩展stream.Readable
并在fs.watch
事件发生时使用stream.read(0)
执行change
。如果您决定自己实施EOF,删除文件等,还有很多工作要做。