Tag: csv

pipe道NodeJSstream到一个数组

我的用例是这样的:我正在阅读节点中的CSV文件,只有头。 我不想将读取stream的结果写入文件,而是一旦读取文件就将头部压入数组,所以我可以把这个数组放到后面去做。 或者,更好的是,在读取stream时,将其转换,然后将其发送到数组。 文件是一个人为的价值。 我被困在这一点,其中数据文件的当前输出是一个空的数组: const fs = require('fs'); const parse = require('csv-parse'); const file = "my file path"; let dataFile = []; rs = fs.createReadStream(file); parser = parse({columns: true}, function(err, data){ return getHeaders(data) }) function getHeaders(file){ return file.map(function(header){ return dataFile.push(Object.keys(header)) }) } 为了得到我需要的结果,我需要做什么? 我期待在数组中find标题作为最终结果。

如何使用nodejs将数据存储到aerospike?

我尝试使用put()命令使用nodejs将一个CSV文件添加到aerospike中。 它显示所有logging,但只存储最后一条logging。 我需要使用客户端节点js将整个CSV文件存储到aerospike中。 client.put(key, rec, function (error) { if (error) { console.log('error: %s ', error.message) } else { console.log('Record %d written to database successfully.',count) } 如何使用客户端的nide js在aerospike中存储CSV文件?

比较和匹配2个CSV文件

我有2个文件(两个文件都是> 1,000,000行): 第一个文件只包含一个md5散列 第二个文件包含md5; emailadress 现在我必须比较这两个文件,如果md5哈希是相同的 – >写在一个单独的文件emailadress。 我尝试了与MySQL和join SELECT `email` FROM `intern` INNER JOIN `extern` ON `intern`.`md5` = `extern`.`md5` 并阅读2 csv并比较它在2个循环。 的NodeJS: fs.readFile('public/md5-data/reachadout.csv', (err, internFile) => { fs.readFile('public/md5-data/customer.csv', (err, externFile) => { var internLines = internFile.toString().split('\n'); var externLines = externFile.toString().split('\n'); internLines.forEach(function(iLine){ var internCells = iLine.split(';'); if(externLines.indexOf(internCells[0]) > -1){ fs.appendFileSync('public/md5-data/blacklist.csv', internCells[1] + '\n'); } }) […]

Nodejs从json创buildexcel(csv / xlsx)缓冲文件

我正在寻找将从json创buildexcel文件(csv和xlsx)的库 我有一些对象 var arr=[ { "name": "Ivy Dickson", "date": "2013-05-27T11:04:15-07:00", "number": 10 }, { "date": "2014-02-07T22:09:58-08:00", "name": "Walker Lynch", "number": 2 }, { "number": 5, "date": "2013-06-16T05:29:13-07:00", "name": "Maxwell U. Holden" }, { "name": "Courtney Short", "date": "2014-03-14T07:32:34-07:00", "number": 6 } ] 我想将其转换成Excel文件缓冲区。 我没有得到哪个图书馆是最适合我的条件。 请build议更好的图书馆。

从javascript Node.js调用mongoexport

我想将Mongo Collection导出为.csv。 Mongo为此提供了一个解决scheme,但它仅限于shell。 http://docs.mongodb.org/manual/reference/mongoexport/ 我为node.js使用本地驱动程序,并希望能够在脚本中执行此操作,而不是从shell中调用。

在mongoose的对象数组上使用循环保存模型。 所有插入时都需要回拨

我需要在MongoDB中转储一个csv。 我为此使用了节点csv插件。 我所做的是我通过遍历行生成了一个json对象的数组。 在接下来的步骤中,我计划循环访问这个数组,并使用mongoose在集合中插入文档。 我这样做: for (var i = 0; i <= dataArray.length; i++) { var contact = new models.contact(dataArray[i]); contact.save(function (err) { console.log(i); if (err) { console.log(err); } else { //some logic goes here } }) } 只要插入是唯一的担心,这工作正常。 我需要有一个callback,当所有的logging插入时被触发。 我看了这个,但是看了第二个答案后还是不服气。 那么用适当的validation在mongodb中倾销csv可以接受的方法是什么?

如何使用node.js从.list文件中提取数据

我有一个包含电影信息的.list文件。 该文件格式如下 New Distribution Votes Rank Title 0000000125 1176527 9.2 The Shawshank Redemption (1994) 0000000125 817264 9.2 The Godfather (1972) 0000000124 538216 9.0 The Godfather: Part II (1974) 0000000124 1142277 8.9 The Dark Knight (2008) 0000000124 906356 8.9 Pulp Fiction (1994) 我到目前为止的代码如下: //modules ill be using var fs = require('fs'); var csv = require('csv'); csv().from.path('files/info.txt', […]

一旦CSV完成阅读,如何解决承诺?

我正在使用这里find的'fast-csv'模块( https://www.npmjs.org/package/fast-csv ),但是我愿意改变它。 我试过promised-csv( https://www.npmjs.org/package/promised-csv ),但是我无法把头绕在里面。 我也使用q( https://www.npmjs.org/package/q )。 这是一个长期承诺的function链的一部分,所以我只会打扰你这个和那个之后立即。 var csvRows = []; var parseCSV = function(){ var d = q.defer(); csv .fromPath(school+'_export1.csv') .on('data', function(data){ csvRows.push(data); }) .on('end', function(){ done = true; d.resolve(); }); return d.promise; } var updateSchedule = function(){ var d = q.defer(); console.log(csvRows); // csvRows.forEach(function(row){ // console.log(row); // connection.query('INSERT INTO schedule […]

Json到node.js中的csv

我试图将一个非常大的json转换为node.js中的csv,但它花费了太多的时间,并导致转换时100%的cpu。 jsonToCsv: function (data) { var keys = Object.keys(data[0]); var csv = [keys.join(",")]; console.time("CSVGeneration"); data.forEach(function (row) { var line = ''; keys.forEach(function (key) { if (typeof row[key] === 'string') { row[key] = "" + file_utils.escapeCsv(row[key]) + ""; } line += row[key] + ","; }); csv.push(line); }); console.timeEnd("CSVGeneration"); csv = csv.join("\n"); return csv; }, escapeCsv: function […]

在巨大的文件中合并CSV行

我有一个像这样的CSV 783582893T,2014-01-01 00:00,0,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582893T,2014-01-01 00:15,1,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582893T,2014-01-01 00:30,2,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582855T,2014-01-01 00:00,0,128,35.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582855T,2014-01-01 00:15,1,128,35.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582855T,2014-01-01 00:30,2,128,35.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y … 783582893T,2014-01-02 00:00,0,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582893T,2014-01-02 00:15,1,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582893T,2014-01-02 00:30,2,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 尽pipe有50亿条logging。 如果您注意到第一列和第二列(当天)的一部分,则三个logging全部“分组”在一起,并且仅仅是当天的前30分钟的15分钟间隔。 我想要输出看起来像 783582893T,2014-01-01 00:00,0,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 783582855T,2014-01-01 00:00,0,128,35.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y … 783582893T,2014-01-02 00:00,0,124,29.1,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y,40.0,0.0,40,40,5,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,Y 其中重复行的前4列被省略,其余的列与第一个logging相结合。 基本上我每天换线的时间是15分钟,到每一天是1天。 由于我将处理50亿条logging,所以我认为最好的方法是使用正则expression式(和EmEditor)或一些为此(multithreading,优化)而devise的工具,而不是自定义的编程解决scheme。 尽pipe我对nodeJS或C#中的想法是比较简单和超快的。 如何才能做到这一点?