将CSS数据转换为Node.js中的html表

时间:2019-03-19 16:58:51

标签: amazon-s3 aws-lambda aws-sdk

我在一个地方,我设法从oracle DB获取数据并将数据对象转换为csv缓冲区,然后将其上载/放置到AWS S3 Bucket.say'output.csv'中的csv文件中。现在,我正在尝试阅读此csv 文件'output.csv'并将这些行写入html表中,并以index.html的形式放回S3存储桶中,以便我可以将其附加到团队中用户的电子邮件中。

//below i'm reading data from s3 object

let readParam = {
  Bucket: process.env.BUCKET_ON_S3,
  Key: process.env.CSV_OUTPUT_FILE
 };
s3Param.getObject(readParam, function(err, data){
const body = Buffer.from(data.Body).toString('utf8');
console.log(body);
})
// below  is the output

TEST_XXXXX_ROW1,352,High,Warning,7
TEST_XXXXX_ROW2,346,High,Error,11
TEST_XXXXX_ROW3,349,Low,Error,431

现在,我们必须将此数据写入表中的单独单元格中,并将其上传到S3存储桶中的index.html。

当我尝试从s3存储桶读取output.csv并创建包含内容的html表时,我看到了问题。当我加载HTML时,我看到以下错误

ReferenceError: d3 is not defined

下面是我尝试过的代码 Index.html

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <style>
        table {
            border-collapse: collapse;
            border: 2px black solid;
            font: 12px sans-serif;
        }

        td {
            border: 1px black solid;
            padding: 5px;
        }
    </style>
</head>
<body>
    <!-- <script src="http://d3js.org/d3.v3.min.js"></script> -->
    <script src="d3.min.js?v=3.2.8"></script>

    <script type="text/javascript"charset="utf-8">
     let readParam = {
          Bucket: process.env.BUCKET_ON_S3,
          Key: process.env.CSV_OUTPUT_FILE
          };
        d3.text(readparam, function(data) {
            var parsedCSV = d3.csv.parseRows(data);

            var container = d3.select("body")
                .append("table")

                .selectAll("tr")
                    .data(parsedCSV).enter()
                    .append("tr")

                .selectAll("td")
                    .data(function(d) { return d; }).enter()
                    .append("td")
                    .text(function(d) { return d; });
        });
    </script>
</body>
</html>

有没有更好的方法来实现这一点?

0 个答案:

没有答案