Tag: csv

我如何parsing大型tsv文件通过Nodejs JSON

我有一个370MB的文件。 我需要parsing,然后更新mongodb中的条目,我已经使用npm node-tsv-json.It适用于小文件,但不适合大one.It说致命错误:CALL_AND_RETRY_LAST分配失败 – JavaScript堆内存不足

从CSV导入到MongoDB的嵌套元素

我有以下的CSV文件: Website Company name City State Zip Country Founded year Company email Twitter Followers Employees Revenue Public/Private/Nonprofit Industry Monthly Technology Spend First name Last name Title Email Confidence Phone website.com Some Company Sydney NSW 2010 Australia 2012 support@company.com 94750 100 – 250 $1 – 10M Private Design $5K – 20K Fred Smith Mixing Technology and […]

JSON到csv文件的中文字符编码

我已经写下了将json转换为csv的代码。 var json2csv = require('json2csv'); var fs = require('fs'); var fields = ['car.make', 'car.model', 'price', 'color']; var myCars = [ { "car": {"make": "萱萱的 iPad Mini", "model": "萱萱的 iPad Mini"}, "price": 40000, "color": "blue" }, { "car": {"make": "萱萱的 iPad Mini", "model": "萱萱的 iPad Mini"}, "price": 35000, "color": "black" }, { "car": {"make": "萱萱的 iPad […]

错误:第5行的列数不一致 – parsingCSV时

我试图parsing一个CSV文件,使用制表符作为列分隔符。 我得到下面的错误: Error: Number of columns is inconsistent on line 5 at Parser.__push (/Users/mesamhaider/Desktop/workspace/Order_CSV_Parsing_Tool/node_modules/csv-parse/lib/index.js:248:14) at Parser.__write (/Users/mesamhaider/Desktop/workspace/Order_CSV_Parsing_Tool/node_modules/csv-parse/lib/index.js:469:20) at Parser._transform (/Users/mesamhaider/Desktop/workspace/Order_CSV_Parsing_Tool/node_modules/csv-parse/lib/index.js:182:14) at Parser.Transform._read (_stream_transform.js:190:10) at Parser.Transform._write (_stream_transform.js:178:12) at doWrite (_stream_writable.js:371:12) at writeOrBuffer (_stream_writable.js:357:5) at Parser.Writable.write (_stream_writable.js:274:11) at ReadStream.ondata (_stream_readable.js:626:20) at emitOne (events.js:115:13) 我正在使用的代码如下所示: const fs = require('fs'); const parse = require('csv-parse'); fs.createReadStream('../in/*.csv') .pipe(parse({delimiter : ' '})) […]

快速有效地创buildCSV文件报告,而不会减慢node.js服务器的速度

我有一个Node.js快速API,托pipe在一个Azure应用服务上,提供来自SQL服务器数据库的数据。 一个新的要求是根据可定制的数据导出报告。 这些应该是即时生成的CSV文件。 我面临的问题是,在某些情况下,CSV文件将会非常大(可能是50万行)。 我不难创build这些文件,然后将它们上传到Blob存储,或者直接将它们提供给用户。 但是,正如你可以想象的那样,这将花费一些负载在服务器上。 这个API每分钟提供约500个Post / Get请求。 Node的单线程特性意味着当有人请求类似的CSV文件时,服务器将抓取。 我需要一些build议,而不是做什么。 我的想法是启动一个新的应用程序,在一个新的服务器上(可能是一个用ASP.NET编写的),负责创buildCSV文件。 它公开一个接收参数来创build文件的结束点,然后用文件或链接进行响应。 但是,因为它是一个单独的服务器(如果我做了类似于.NET的单独线程),它在等待响应时不会降低节点服务器的速度。 这看起来好像很多工作。 有什么简单的吗? 我对任何可以直接连接到SQL数据库并生成报告的服务开放(所以我可以把它给客户端,而不是定制的报告,我需要硬编码)。

CSV-parse npm库,返回“列数不一致”

我想用csv-parseparsing一个csv文件。 此时,如果在文件的第一行没有标题,我可以parsing带有标题的文件。 所以例如我的文件是这样的: Item1;Item2:Item3 Test1;Test2;Test3 但我需要能够跳过第一行,因为实际的数据是这样的: This is a file with items Items are stored below: Item1;Item2:Item3 Test1;Test2;Test3 所以我需要跳过第一行。 csv-parse可以使用from:选项执行此操作。 但是,当我使用它会返回一个列数不一致的错误。 这是真的,因为前几行是文本,所以只有一列。 但是当我以例如:4作为选项设置时,csv-parse不会占用前几行。 我的代码: var fs = require('fs'); var parse = require('csv-parse'); var parser = parse({delimiter: ';', from: 2}, function(err, data){ if(err){ return console.log(err); } var keys = data.shift(); var objects = data.map(function(values) { return […]

如何将spark rdd保存到csv文件

我有一个要求检索cassandra表数据并将其保存到文件系统(Linux文件系统)。 该文件不应该分裂成多个节点,它应该创build在一个单一的节点。 我们有四个以spark模式运行的节点(datastax)cassandra集群。 dse版本:5.0.1 Spark版本:1.6.1 这里是我的示例代码: val sc = new SparkContext(conf) val sqlContext1 = new CassandraSQLContext(sc); sqlContext1.setKeyspace("KeyspaceName"); val results = sqlContext1.sql("SELECT * FROM KeyspaceName.TableName"); results.collect().foreach(println); 现在结果RDD。 需要在一个节点上保存到本地文件系统(linux)。 我跟着一些博客,但没有工作。 有人可以指导解决这个问题吗?

节点CSVparsing器输出问题

我正在尝试使用Node CSVparsing器从我的Mongo数据库中读取查询结果,并将其写入到csv文件中。 当我运行我的脚本,我得到一个csv文件,第一行有两个[对象]条目,其他一切都是空白的。 这是我的代码: // node samples/sample.js var csv = require('csv'); var mongoose = require('mongoose'); var User = require('../models/userModel').User; dsn = "mongodb://localhost/test"; mongoose.connect(dsn); console.log ("here"); var users = User.find({}, function(err, result){ console.log(result); }); var columns = ['userName','agencyName','email','password','id']; csv() .from(users, { columns: true }) .toPath(__dirname+'/users.csv',{ columns: ['userName','agencyName','email','password','id'] }) .transform(function(data){ data.unshift(data.pop()); return data; }) .on('data',function(data,index){ console.log('#'+index+' '+JSON.stringify(data)); […]

node.js如何在从stream中导入数据库后同步最终callback

这听起来像一个非常典型的用例如Q或async库,但我真的不知道什么是最好的方式来做到这一点。 我想用150行(使用node-csv )导入CSV文件,并为每行创build一个mongo文档。 然而,streamparsing看起来比“db插入”更快,所以我遇到了callback被调用得太早的问题。 // importtest.mocha.js […] importer.loadFromCsv (url, function(result) { result.length.should.be.equal (150); // nope, it's always around 41 } // importer.js function loadFromCsv (url, callback){ csv().from.stream(url) .on ('record', function(record, index){ new Row({data: record}).save(function() { console.log ('saved a row to db'); }); }) .on ('end', function() { callback (Row.find({})); // E parser finished, but probably […]

用CSV写节点js的匹配行

我正在与node js婴儿的步骤。 第一个任务,逐行阅读一个分隔的文件,并吐出包含string“imputed”的行。 #!/usr/bin/env node var Csv = require("csv"), Fs = require("fs"); var foods = "/../data/sr26"; Csv() .from.stream( Fs.createReadStream(__dirname + foods + "/SRC_CD.txt"), {"delimiter": "^", "quote": "~"} ) .to(function(data, count) { console.log(data); }) .transform(function(row, index, callback) { //if (row[1].search(/imputed/) != -1) { process.nextTick(function() { callback( null, row[1].substr(0, 15) + "… " + row[1].search(/imputed/) + "\n" […]