Tag: csv

在NodeJS中插入一个大型的csv文件,200,000行+到MongoDB中

我试图分析和插入一个大的csv文件到MongoDB中,但是当文件扩展到100000行时,我得到了服务器的错误响应。 我需要插入的文件通常在200000行以上。 我已经尝试了批量插入(insertMany)和Babyparse(Papaparse)stream式方法来逐行插入文件。 但效果不佳。 节点api: router.post('/csv-upload/:id', multipartMiddleware, function(req, res) { // Post vartiables var fileId = req.params.id; var csv = req.files.files.path; // create a queue object with concurrency 5 var q = async.queue(function(row, callback) { var entry = new Entry(row); entry.save(); callback(); }, 5); baby.parseFiles(csv, { header: true, // Includes header in JSON skipEmptyLines: true, […]

如何将名称添加到未命名的JSON对象的数组?

所以我目前正在使用csvtojson为了转换一个CSV文件,以及,JSON,而我的代码是返回一个未命名的对象数组。 不过,我想要命名这些对象。 更具体地说,我想使用第一列的值来命名对象。 我的CSV文件看起来像这样: 名字,餐厅,食物名称,评论,价格 安德鲁,Clucky的鸡,鸡肉,这个三明治真棒,$ 9.99 米歇尔,字节,大汉堡,汉堡干得好,12.99美元 凸轮,Candyland,美味软糖,散装糖果,1.75美元的好价钱 我正在使用此代码并在节点中运行它: // require the csvtojson converter class var Converter = require("csvtojson").Converter; //create a new converter object var converter = new Converter({}); //call the fromFile function which takes in the path to the csv file, as well as a callback function converter.fromFile("./restaurants.csv", function(err,result){ // if an error […]

从Node.js App的CSV文件导入多个条目到MongoDB

首先,我是Node.js和MongoDB的新手。 我有一个networking应用程序的想法,工作,我目前正在工作。 它涉及将数据分配给数据库中的代表,然后在应用程序内访问数据。 我必须使用的数据在Excel文件中。 我可以把这个Excel文件,并创build一个CSV文件导入到MongoDB。 我的问题是,我有多个机会绑定到个人代表。 我想弄清楚如何设置我的应用程序的数据库的方式,我可以导入此CSV文件的位置,它将保存所有的数据库中的特定代表的代表数据库。 这是一个数据的例子: 代表名称,Opp ID,Opp名称,先前金额,金额 Rep 1,1234561,Opp 1,10000,8000 Rep 1,1234562,Opp 2,15000,9000 Rep 2,1234563,Opp 3,20000,10000 Rep 1,1234564,Opp 4,25000,11000 Rep 2,1234565,Opp 5,30000,12000 基本上我想能够导入CSV格式的文件,在这种格式,有一个模型在node.js将支持这个导入,然后能够拉应用程序内的每个代表的数据。 例如,所有代表的总览将显示如下:代表1将有3个Opps出现,代表2将有2个Opps出现 这甚至有可能吗? 我是否以错误的方式去做这件事? 有没有更好的方法来做到这一点? 任何提示,技巧,build议或例子,以帮助指导我会很好。

使用fast-csv同步处理一个csv文件

我正在尝试使用fast-csv处理一个csv文件,这里是我的代码。 var stream = fs.createReadStream("sample.csv"); csv.fromStream(stream, {headers : true}) .on("data", function(data) { console.log('here'); module.exports.saveData(data, callback) }) .on("end", function(){ console.log('end of saving file'); }); module.exports.saveData = function(data) { console.log('inside saving') } 我面临的问题是过程不同步。 我看到的输出是类似的东西 这里 这里 里面保存 里面保存 但是,我想要的是 这里 里面保存 这里 里面保存 我假设我们需要使用async.series或async.eachSeries,但不完全确定如何在这里使用。 任何input,不胜感激 提前致谢!

如何使用JavaScriptparsing包含换行符的CSV数据

给定一个在某些字段中有换行/返回字符的CSV文件,我们如何parsing数据而不将字段分成多行。 CSV数据示例: ID;Name;Country;ISO-2;Address;Latitude;Longitude 022wje3;Europa;Italy;IT;"Viale Kennedy 3 34073 Grado";"45,67960";"13,40070" 024oua5;Hiberia;Italy;IT;"Via XXIV Maggio 8 00187 Rome";"41,89720";"12,48680" 028gupn;Regal Riverside;Hong Kong;HK;"34-36 Tai Chung Kiu Road Shatin Hong Kong";"22,38260";"114,19600" 02j7qry;Okaliptus Holiday Villas Apart;Turkey;TR;"Sevket Sabanci Caddesi No. 70 Bahçelievler Mevkii Turgutreis";"37,02130";"27,25120" 02pc99z;California Apartementos;Spain;ES;"Prat d'en Carbó 43840 Salou";"41,07620";"1,14667" 02tu1jz;Elvis Presley's Heartbreak;United States;US;"3677 Elvis Presley Blvd. Memphis Tennessee 38116";"35,04850";"-90,02710" 注意:字段实际上是用分号隔开的; 因为地址可以包含逗号 每行有7个字段,但我们不希望错误地parsing包含换行字符的字段中的数据为多行… 我们在StackOverflow上find了几个关注Perl的答案: […]

从Angular中的服务器下载文本/ csv内容,而不是在Mozilla FireFox中工作

从Angular中的服务器下载文本/ csv内容作为文件 通过回答 – https://stackoverflow.com/users/2064206/dcodesmith $http({method: 'GET', url: '/someUrl'}). success(function(data, status, headers, config) { var anchor = angular.element('<a/>'); anchor.attr({ href: 'data:attachment/csv;charset=utf-8,' + encodeURI(data), target: '_blank', download: 'filename.csv' })[0].click(); }). error(function(data, status, headers, config) { // if there's an error you should see it here }); 我实现了这个解决scheme,使用angular度从服务器下载文件到客户端。 这在Google Chrome中运行良好 。 但是这个解决scheme在Mozilla Firefox中不起作用 。 谢谢

在Node中的服务器上将XLS转换为CSV

我有一个客户端Web应用程序,用一个非常小的节点服务器来访问一些客户端无法访问的数据。 其中之一就是使用.xls扩展名的excel电子表格。 我试图让我的服务器设置为下载xls,将其转换为csv,然后将其发送回客户端。 我已经完成了下载部分,我确信我可以找出“送回”的部分,但我不能为我的生活find一个好的图书馆从xls转换为csv。 有人能指点我一个能以简单的方式做到这一点的图书馆吗? excel文件只是一张纸,没有复杂的工作簿或任何东西。 或者还有另一种做法,我没有想到?

将大型CSV文件转换为JSON

我不介意在一个单独的程序中使用Excel,在NodeJS中或在一个Web应用程序中完成。 这与在此描述的完全相同的问题: Node.js中的大CSV到JSON /对象 看来,OP没有得到这个答案工作(仍然接受呢?)。 我试过用它,但似乎无法得到它的工作。 简而言之:我正在处理大约50,000行的CSV,我想将其转换为JSON。 我已经尝试了几乎所有在线的“csv到json”的web应用程序,所有崩溃与这个大的数据集。 我已经尝试了许多Node CSV到JSON模块,但是,他们都崩溃了。 csvtojson模块似乎很有希望,但我得到这个错误: FATAL ERROR: JS Allocation failed – process out of memory 。 我能做些什么来以可用的格式获取这些数据? 如上所述,我不介意它是一个应用程序,可以在Excel,webapp或Node模块中工作,只要我可以得到一个.JSON文件或一个可以在Node中使用的对象。 有任何想法吗?

Nodejs发送部分响应

MongoDB收集中有2万条logging。 我在csv中导出所有这些logging。 我使用这个发送部分回应: res.writeHead(200, { "Content-Type": "application/csv", "Content-disposition": "attachment; filename='import.csv'" }); res.write(data + '0', "binary"); 上面的代码正在批量执行500.我将结束处理所有logging时使用此代码。 if (++responseCount == loopCount) { res.end(); } 但是我得到这个错误: 发送后无法设置标题。 但是我得到的文件下载了500条logging。 这是我的完整代码。 var exportData = function (req, res, next) { var limit = 500; var responseCount = 0; var loopCount = 1; var size = 30000; //Get 500 records at […]

如何用node-csvparsing器跳过文件的第一行?

目前我正在使用node-csv( http://www.adaltas.com/projects/node-csv/ )进行csv文件parsing。 有没有办法在开始parsing数据之前跳过文件的前几行? 例如,一些csv报告例如在实际标题和数据开始之前的前几行具有报告细节。 LOG REPORT <- data about the report DATE: 1.1.1900 DATE,EVENT,MESSAGE <- data headers 1.1.1900,LOG,Hello World! <- actual data stars here