csvファイルにjsonデータを最初から最後まで追加する必要があります。しかし、1分ごとに各行が追加されます。私の状況では、最初の1分ですべてを追加します。これは私のコードです。csvファイルにjsonデータを1つずつ追加するにはどうすればよいですか?
var unirest = require('unirest');
var fs = require('fs');
var outFilename = 'mert_akel_minutereadings.csv';
var interval = setInterval(function() { post(); }, 60000); //Write to file every minute
function post(){
unirest.post('https://power.ivyiot.com/Thingworx/Things/GamaNetworkServices/Services/GetNetworkData')
.headers({'Accept': 'application/json', 'appKey': 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'})
.end(function (response) {
writeToCsv(response.body);
});
}
function writeToCsv(inJSON){
var outCSV = inJSON.rows;
// console.log(outCSV)
var csv = [];
for(var k in outCSV) {
var items = [[outCSV[k].PowerPlant , outCSV[k].gen1min , outCSV[k].gen1minDateTime, timeConverter(outCSV[k].gen1minDateTime)]];
for (index = 0; index < items.length; ++index) {
csv.push(items[index].join(', ') + '\n');
}
fs.writeFile(outFilename, csv, function (err) {
if (err) {
return console.log(err);
}
console.log("Added one row!")
});
}
}
function timeConverter(UNIX_timestamp){
var a = new Date(UNIX_timestamp*1000);
var hour = a.getUTCHours();
var min = a.getUTCMinutes();
var sec = a.getUTCSeconds();
var time = hour+':'+min+':'+sec ;
return time;
}
誰でも助けていただければ幸いです。
[fast-csv](https://github.com/C2FO/fast-csv)をご覧ください。具体的には**データの書き込み**セクション –
投稿からの返信が複数の行を返すのではないので、投稿機能の間隔にもかかわらず、CSVに書き込まれる複数の行が表示されます。行のブロックが毎分書き込まれる必要があることを意味していますか? –
あなたの投稿は複数の行を返します。 post()メソッドから受け取った配列配列から1行を挿入するメソッドにintervalを設定しようとします。 – YyYo