Tag: csv

TypeError:使用csv模块时,object不是函数

我正在尝试执行一个读取CSV文件的示例脚本。 我从这个页面复制了样本: http://www.adaltas.com/projects/node-csv/ 我得到这个错误: csv() ^ TypeError: object is not a function at Object.<anonymous> (/Users/paulchernoch/Documents/Chris Leung/read-csv-test.js:8:1) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3 示例代码(修改为使用我的文件名): var csv = require('csv'); var fs = require('fs'); csv() .from.stream(fs.createReadStream(__dirname+'/f1dcca4e8c5f76b3.csv')) .to.path(__dirname+'/test.txt') .transform( function(row){ return row; }) .on('record', function(row,index){ […]

读取CSV文件的最后一行并提取一个值

新的Node.js,并试图从CSV文件的最后一行拉值。 这里是CSV: Unit ID,Date,Time,Audio File Log File Created,3/6/2013,11:18:25 AM,file:\\\C:\Users\Ben\Documents\1_03-06-2013_1114-50.mp3 1,3/6/2013,11:20:24 AM,file:\\\C:\AlertLog\1_03-06-2013_1120-24.mp3 1,3/6/2013,11:20:39 AM,file:\\\C:\AlertLog\1_03-06-2013_1120-24.mp3 我试图抓住的部分是file:\\\C:\AlertLog\1_03-06-2013_1120-24.mp3 – 最好摆脱file:\\\部分。 对不起,我没有任何代码显示,只有几个小时的Node.js的经验,似乎无法find任何文档如何完成这样的事情。 任何帮助,将不胜感激。 谢谢!

Node.js node-csv-parser死锁,因为背压不起作用

我正在尝试从CSV文件中读取url,检查它们是否可用,并将错误的url写入另一个文件。 我经历了大概几千次,然后急剧减速(从每秒钟5次检查到每10秒检查一次),然后得到“致命错误:CALL_AND_RETRY_2分配失败 – 进程内存不足”,大概是因为我没有应用背压正确的排放stream。 var csv = require('csv'); var request = require('request'); var fs = require('fs'); csv() .from(fs.createReadStream('./urls.csv'), {columns: true}) .to(fs.createWriteStream('./badurls.csv')) .transform(function(data, index, callback){ checkImage(null,callback,data['main-image-url'],index) }); function checkImage(err, callback, url, index) { if (url != "") { request.head(url, function(err, res) { console.log(index,res.statusCode,url); if (res.statusCode != 200) { callback(null,url+"\n"); } }) } }

将csvfile upload到数据库(leveldb)

我正在写一个小应用程序,并坚持在我想上传.csv文件的部分,并将条目存储到我的数据库。 我使用快递框架,并与多部门/公务员和强大的玩弄。 我成功上传了文件并将其保存在服务器上。 我现在可以提取数据并再次删除它,但是我认为使用Node.js更好的方法是将每行转换为数据库对象并将其存储,而不必将整个文件保存在服务器上。 我发现一些file upload的例子,但没有即将转换为对象/存储到数据库。 也许你能帮我吗? 下面你会看到上传路由的“发布”请求。 exports.uploadTradesProcess = function (req,res) { var form = new multiparty.Form(); form.onPart = function(part) { } form.parse(req, function(err, fields, files) { res.writeHead(200, {'content-type': 'text/plain'}); res.write('received upload:\n\n'); res.end(util.inspect({fields:fields, files:files})) }); return; } “form.onPart”行还没有做任何事情。 我想知道是否可以使上传文件中的每一个新行都切成块/部分… 这是数据库条目的模板: var Trade = new dulcimer.Model({ date: {type: 'integer'}, exchange: {type: 'string'}, currency1: {type: 'string'}, […]

从URL导入CSV文件到Node.js

我目前正在开发一个项目(Node.js with Express),在这个项目中我必须导入一个CSV文件,给定一个特定的URL,然后用它的数据填充我的Mongo数据库。 我对Node很新,所以我可能会做一些非常错误的事情,但是在我的研究中,我发现这种方法试图从远程CSV文件中获取数据: methods.getStops = function (req, res) { var line = req.params.line; var url = "/apiTransporte/Apresentacao/csv/gtfs/onibus/paradas/" + "gtfs_linha{line}-paradas.csv".format({line: line}); var parsed = []; var http = require('http'); var options = { host: 'dadosabertos.rio.rj.gov.br', port: 80, path: url } http.get(options, function(response) { response.on('data', function( data ) { csv_data = data.toString(); csv_data = csv_data.replace("", "\r"); […]

parsingNode.js中的CSV文件对于性能或阻塞是否有害?

对于Node来说有点新鲜,我已经仔细阅读,注意事件循环,小心不要阻塞。 我有一个用Node.js编写的Web应用程序,它具有允许用户上传CSV文件并将数据保存为MongoDB集合中的文档的function。 我无法从任何人得到一个直接的答案,这是否是一个坏主意。 我担心的是,如果用户上传大文件,则其他用户将无法响应应用程序,而文件的每一行都会保存到Mongo中。 我的担心是否有根据? 这里有一个确定的最佳实践(即使用stream?),如果出现这个问题,你会做什么? 一些背景信息 这些文件平均大小在10kb到100kb之间,但是可能会出现一个更大的8mb文件(8mb是服务器的最大上传大小)。 使用不同的语言是一个select,但只有有一个令人信服的理由这样做 我有一些与应用程序一起运行的Go守护进程,并计划将CSV工作卸载到其中一个或一个新的Ruby进程,如果节点无法处理它。 唯一的问题是在Node应用程序和Go或Ruby进程之间共享用户会话 生产服务器有2个CPU核心可用,所以可能阻止一个核心是可以接受的? 更新: 我正在使用的实现是在Express应用程序中使用stream的fast-csv Node模块,如下所示: var csv = require('fast-cvs'); csv.fromPath('path/to/file.csv') .on('data', function(data) { // Save data to MongoDB }) .on('end', function() { res.render('my_view', {}); });

如何在Parse Cloud Code中解压zip文件?

我在我的Parse Cloud代码 – Express.js应用程序中需要从网站下载zip文件 – 链接到NSE India的股票下载。 一旦文件被下载,我需要解压缩并读取其中的CSV文件。 在Parse Cloud代码中,这个任务似乎是不可能的,因为我们只能从网站下载JSON或URL编码的数据 。 我正在研究Parse,Express – Node.js应用程序。 我也试过包含节点模块来解压缩zip文件,但似乎有很多依赖性问题。 请帮我一下 在此先感谢,Sudheesh厘米

node.js将csv的每一行转换为sha1并输出到新的csv

我是一个新手,所以要温柔。 高级别,我有一堆电子邮件地址在.csv。 我想将每个电子邮件地址转换为sha1出于隐私的目的。 我正在尝试在node.js,这是我到目前为止: var crypto = require('crypto'); var fs = require('fs'); var parse = require('csv-parse'); var async = require('async'); var inputFile = 'emailList.csv'; var outputFile = 'sha1List.csv'; var hash = crypto.createHash('sha1') var parser = parse({delimiter: ','}, function (err, data) { async.eachSeries(data, function (line, callback) { // do something with the line hash.write(line).then(function() { // […]

将数据库以CSV格式从latin1编码的string导出到utf-8

我们有MSSQL 2005数据库编码为latin1的string。 要求是将它作为utf-8导出为新的DB。 我已经写了下面的脚本来导出数据库: var sql = require('mssql'); var csv = require("fast-csv"); var fs = require("fs"); var iconv = require('iconv-lite'); function exportCSV(tableName) { return new Promise(function (resolve, reject) { var csvStream = csv.format({headers: false, quoteColumns: true}), writableStream = fs.createWriteStream("Output/"+tableName+".csv",{encoding: "utf8"}); writableStream.on("finish", function() { console.log(tableName+" CSV file exported!"); resolve(); }); csvStream.pipe(writableStream); var request = new sql.Request(); […]

如何在nodejs中逐行获取csv文件的数据

我有一个csv文件,看起来像一个xl文件(格式),但扩展名为.csv 我正在写一个代码,将csv文件的每一行转换为json并发送到服务器(或注销)。 但文件频繁更改,所以我使用fs.watch来观看更改,这里的更改意味着添加新的行,所以我想只发送新添加的行到服务器每次事件被fs.watch抛出,我只能发送新的行如果我从行逐行获取数据并将其转换为JSON并发送到服务器,我可以跟踪最后一行发送和事件发生时,我将开始发送从上次保存的行。 我想从csv文件中获取逐行数据的方式,这是我已经尝试了很多,但都没有工作 我不想只解决以下的代码,将接受任何解决scheme,做上面的工作 我也可以使用xl文件解决scheme,因为我可以将扩展名更改为.xlsx Mycode: var Papa = require('babyparse'); var fs = require('fs'); var file = 'test.csv'; var content = fs.readFileSync(file, { encoding: 'binary' }); Papa.parse(content,{ fs.watchFile('test.csv', function (curr, prev) { step: function(row){ console.log("Row: ", row.data); }); }); }); 错误: fs.watchFile('test.csv', function (curr, prev) { ^ SyntaxError:意外的标记。 at Module._compile(module.js:443:25)处的Modules.load(module.js:73:16)处的Modules.load(module.js:478:10)处的Object.Module._extensions..js(module.js:478:10)处的exports.runInThisContext(vm.js: (node.js:129:16)在Function.Module.runMain(module.js:501:10)处的Function.Module._load(module.js:310:12)的.js:814:3