首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在同一个csv文件上继续写下去?

如何在同一个csv文件上继续写下去?
EN

Stack Overflow用户
提问于 2016-11-03 17:11:44
回答 1查看 845关注 0票数 0

我使用这个nodejs软件包是为了每分钟向一个CSV文件写一些数据,到目前为止,文件的创建还可以,第一次写也可以,但是当到了在同一个文件nodejs上再次写错误的时候,我试图四处寻找一个解决方案,但是我什么也没有想到,希望有人能帮我解决问题。我现在就把我的东西发出去

代码语言:javascript
复制
var cronCSV = require('node-schedule');
var csvWriter = require('csv-write-stream');
var writer = csvWriter({sendHeaders: false});
var ruleCSV = new cron.RecurrenceRule();
ruleCSV.second = 1;
const fs = require('fs');
writer.pipe(fs.createWriteStream('out.csv'))
//SOME OTHER CODE

    cronCSV.scheduleJob(ruleCSV, function(){

        writer.write({hPerc: hPerc, humidity: humidity});
        writer.end();
        console.log("Scritto su CSV");
    });

而错误是:

代码语言:javascript
复制
_stream_readable.js:501
  dest.on('unpipe', onunpipe);
      ^

TypeError: Cannot read property 'on' of undefined
    at CsvWriteStream.Readable.pipe (_stream_readable.js:501:7)
    at Job.job (/home/pi/node_led/main.js:64:10)
    at Job.invoke (/home/pi/node_led/node_modules/node-schedule/lib/schedule.js:175:10)
    at Timeout._onTimeout (/home/pi/node_led/node_modules/node-schedule/lib/schedule.js:479:11)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-03 17:38:25

您是在第一次(和每次)写信给它之后才关闭管道的:

您应该删除这一行:

代码语言:javascript
复制
writer.end();

如果进程打算在任何时候完成,那么在此之前执行它将是一个好主意。但当你想给它写更多的信的时候就不会了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40407492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档