Tag: csv

将较大的CSV文件加载到DynamoDb中的最佳/最佳方法

我的本地机器上有一个巨大的.csv文件。 我想要在DynamoDB(欧洲西部-1,爱尔兰)中加载这些数据。 你会怎么做? 我的第一个方法是: 在本地迭代CSV文件 通过curl -X POST -d '<row>' …/connector/mydata向AWS发送一行 在lambda中处理以前的调用,并在DynamoDB中写入 我不喜欢这个解决scheme,因为: 有太多的要求 如果我发送没有CSV头信息的数据,我必须对lambda进行硬编码 如果我使用CSV标头发送数据,则stream量太大 我也在考虑把这个文件放到一个S3存储桶中,然后用一个lambda ,但是这个文件很大,lambda的内存和时间限制让我感到恐慌。 我也在考虑在EC2机器上做这个工作,但是我失去了反应(如果我在不使用的时候关掉机器)或者我赔钱(如果我不关机的话)。 我被告知Kinesis可能是一个解决scheme,但我不相信。 请告诉我,如果你是我,那么获得DynamoDB中huge CSV文件的最佳方法是什么。 我想尽量减less“秒”上传的工作量。 我更喜欢使用Node.js或R. Python作为最后的解决scheme可能是可以接受的。

从node.js中的variablesparsingCSV表

我有一个节点应用程序,最终可以在一个variablesCSV格式的表。 我想parsing成JSON风格的格式。 我所看过的所有模块似乎只是从文件中input(除非我误解) 是否有任何模块可以做我想做的事情,或者我会更好地实现自己的解决scheme? 谢谢!

将冗长的数据下载为CSV文件

我需要将视图中显示的表格的内容作为CSV文件下载。 我有代码正确格式化表的内容,以便它可以存储为一个.csv文件(例如,列分隔符是一个逗号,表中的每个logging是在一个新的行)。 所以,在我的控制器中,我有以下代码: window.location.href = '/download?data=' + encodeURIComponent($scope.csvString); 我正在使用NodeJs的服务器部分。 在这里,我有以下路由处理程序: app.get('/download', function (req, res) { var data = req.query.data; res.attachment('data.csv'); res.setHeader('Content-Type', 'text/csv'); res.end(data); }); 这工作得很好。 下载工作和下载的文件中的数据是完美的CSV格式。 没有问题。 当表中logging太多时,即数据量巨大时,就会出现问题。 由于这一点,查询参数是非常巨大的,我认为它超过了限制,因此,GET请求返回一个400(错误请求)错误 – 请注意,根据我的分析,请求永远不会到达服务器,而是我观察到请求使用Chrome开发者工具失败。 在浏览器中,URL只是www.my_domain.com/download?data=the_lengthy_data 。 而已。 网页空白/空白,并且没有文件被下载。 因此,我想知道如何下载冗长的数据? 我遇到的所有示例都执行GET请求,因此我必须将冗长的数据作为查询parameter passing。 还有其他的方法吗?

Nodejsparsing最小值和最大值返回错误的值

我正在使用csvparsing器来parsing我有一个CSV文件。 然后,在parsing每一行时,我将检查行中的每个值以获取最小值和最大值。 我的问题是,我的最高持续出现在COL和ROW列99。 当它们的最大值是大约200行和300列。 我不知道那里发生了什么,据我所知我的方法应该工作。 这是我的相关代码: var mins = {} var maxs = {} function loadCSV(finishedCallback) { console.log("Loading csv…"); fs.createReadStream(__dirname + '/data.csv') .pipe(stream) .on('data', function (data) { for (var k in data) { if (data.hasOwnProperty(k)) { if (mins[k] == undefined) mins[k] = data[k]; if (maxs[k] == undefined) maxs[k] = data[k]; if (mins[k] > data[k]) mins[k] […]

如何使用Node.js将JSON数组转换为CSV?

我想转换具有值数组的json。 response.json { "rows": [ [ "New Visitor", "(not set)", "(not set)", "0" ], [ "New Visitor", "(not set)", "(not set)", "mobile" ], [ "New Visitor", "(not set)", "(not set)", "mobile" ], [ "New Visitor", "(not set)", "(not set)", "mobile", ] ] } 现在我想把这个数据转换成。 name.csv "New Visitor","(not set)","(not set)","0" "New Visitor","(not set)","(not set)","mobile" "New Visitor","(not […]

如何解决请求实体在feathersjs太大的错误?

我在羽毛服务上传csv文件,文件大小为203kb,它抛出一个错误请求实体太大的错误是这样的。 错误: { "name": "GeneralError", "message": "request entity too large", "code": 500, "className": "general-error", "data": {}, "errors": {} } 我正在写这样的中间件代码,但我无法解决 app.js: app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); location.service.js: // Initializes the `location` service on path `/location` const createService = require('feathers-mongoose'); const createModel = require('../../models/location.model'); const hooks = require('./location.hooks'); const filters = require('./location.filters'); const multer = require('multer'); […]

从CSV创build对象

我想要做的是dynamic的属性dynamic创build一个对象文字。 我有一个包含文件内容(CSV格式)的数组。 每个元素是一行(内容是用/\r?\n/分隔的)。 该数组的第一个元素(第一行)包含我想要的对象文本的参数,用逗号分隔。 所有其他元素都是在第一行中设置的参数的值(仍然是CSV格式)。 我现在的代码如下: function jsonDataArray(array) { var jsonResult = [], parameters = [], values; for(var i=0; i < array.length; i++) { if(i === 0) { var parameters = array[i].split(','); var objJSON = {}; for(var k=0; k < parameters.length; k++) { objJSON.eval(parameters[k]); } continue; } values = array[i].split(',') for(var j=0; j < objJSON.length; […]

在Windows中将数据导入mongodb数据库.csv文件

我有远程ubuntu server运行的mongodb IP:192.168.2.10 and Port:27017 。 我通过mongoose和node.js访问mongodb 。 现在我想从.csv导入数据到mongodb 。 我知道mongoImport但我不知道如何使用它从windows和从windows开始。 我在我的Windows系统中使用npm安装了node.js和mongoose。 我读了关于mongoImport说它应该从命令提示符运行。 在Windows cmd提示符时运行 mongoimport –host 192.168.2.10 –port 27017 –collection Attributes –db Master –file <P:\Attributes.csv 我得到这个错误。 ReferenceError:没有定义mongoimport 我应该在窗口中安装mongodb,我不这么认为。 我该怎么办?

如何在nodejs json2csv中存在csv文件追加新行?

我想在现有的csv文件中添加新的行? 如果csv文件存在,那么我不想添加列标题,只是想在文件中存在行后添加新行。 这是我正在尝试的代码: var fields = ['total', 'results[0].name.val']; var fieldNames = ['Total', 'Name']; var opts1 = { data: data, fields: fields, fieldNames: fieldNames, newLine: '\r\n' }; var opts2 = { newLine: '\r\n', data: data, fields: fields, fieldNames: fieldNames, hasCSVColumnTitle: false, }; fs.stat('file.csv', function (err, stat) { if (err == null) { console.log('File exists'); var csv […]

如何给婴儿分析器中的文件名称input

我正在尝试使用婴儿分析器parsingCSV文件,但我得到下面的输出,如果我给文件名 文件和代码在同一个目录下 我的代码: var Papa = require('babyparse'); var fs = require('fs'); var file = 'test.csv'; Papa.parse(file,{ step: function(row){ console.log("Row: ", row.data); } }); 输出: 行:[['test.csv']]