最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

将CSV转换为DynamoDB JSON格式

IT培训 admin 6浏览 0评论

将CSV转换为DynamoDB JSON格式

我在具有CSV文件的S3存储桶上有一个触发器。我正在尝试编写Node.js lambda函数以将CSV文件加载到DynamoDB表中。我的文件看起来像这样:

Speed, San Diego, 35,0,0
Air, Houston, 32,0,0
Air, Chicago, 35,0,0

我的文件没有标题,但我需要使用下面的键值:

Gauge: Speed, City: San Diego, Value:35, temp1: 0, temp2: 0

等等,我基本上只是想把它变成DynamoDB JSON格式,一旦我把它变成那种格式,我可以加载它,但是我无法在网上找到任何示例脚本。有没有人有一个如何将原始数据转换为DynamoDB JSON格式的示例?

我已经看过数据管道帖子,但我正在寻找一个Node.js方法将这些数据转换为DDB JSON。

回答如下:

您可以使用csv-parse npm模块将CSV内容解析为JavaScript数组。我使用的是版本1.2.0,同步选项,但它应该适用于更高版本。

const parse = require('csv-parse/lib/sync');

function parseCsv( data, header ) {
    // remove spaces in front of data
    data = data.replace(/\s*,\s*/g, ",");
    // add new line between header & data
    data = `${header}\n${data}`;

    return parse(data, {columns: true});
}

var csv = 
`Speed, San Diego, 35,0,0
Air, Houston, 32,0,0
Air, Chicago, 35,0,0`;

// comma separate your header
var header = "Gauge,City,Value,temp1,temp2";


// #TEST
var ddbArray = parseCsv(csv, header);

console.log(JSON.stringify( ddbArray, 0, 2 ));

将CSV转换为DynamoDB JSON格式

我在具有CSV文件的S3存储桶上有一个触发器。我正在尝试编写Node.js lambda函数以将CSV文件加载到DynamoDB表中。我的文件看起来像这样:

Speed, San Diego, 35,0,0
Air, Houston, 32,0,0
Air, Chicago, 35,0,0

我的文件没有标题,但我需要使用下面的键值:

Gauge: Speed, City: San Diego, Value:35, temp1: 0, temp2: 0

等等,我基本上只是想把它变成DynamoDB JSON格式,一旦我把它变成那种格式,我可以加载它,但是我无法在网上找到任何示例脚本。有没有人有一个如何将原始数据转换为DynamoDB JSON格式的示例?

我已经看过数据管道帖子,但我正在寻找一个Node.js方法将这些数据转换为DDB JSON。

回答如下:

您可以使用csv-parse npm模块将CSV内容解析为JavaScript数组。我使用的是版本1.2.0,同步选项,但它应该适用于更高版本。

const parse = require('csv-parse/lib/sync');

function parseCsv( data, header ) {
    // remove spaces in front of data
    data = data.replace(/\s*,\s*/g, ",");
    // add new line between header & data
    data = `${header}\n${data}`;

    return parse(data, {columns: true});
}

var csv = 
`Speed, San Diego, 35,0,0
Air, Houston, 32,0,0
Air, Chicago, 35,0,0`;

// comma separate your header
var header = "Gauge,City,Value,temp1,temp2";


// #TEST
var ddbArray = parseCsv(csv, header);

console.log(JSON.stringify( ddbArray, 0, 2 ));

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论