首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换CSV数据以便在类内访问

转换CSV数据以便在类内访问
EN

Stack Overflow用户
提问于 2021-05-11 08:25:55
回答 1查看 36关注 0票数 0

我正在尝试开发TypeScript类来访问csv文件中的数据。原始电子表格如下所示:

我把它转换成CSV文件,并像这样快速解析它:

代码语言:javascript
复制
import fs from "fs";

const data = fs.readFileSync("Data-Table 1.csv", {
  encoding: "utf-8",
});

console.log(data);

但是如果它看起来像这样:

启动:run 1848,432-444 W. Ocean Blvd,4,1312-03,-888,,432-444 W. Ocean Blvd,“建议根据CEQA指南证明减轻负面声明(MND 01-14),并批准土地平面图审查,当地沿海发展许可证,和归属暂定区域地图,用于在市中心海岸线规划发展区PD-6分区的442 W. Ocean大道上建设一座由95个住宅单元和153个停车位组成的八层住宅公寓综合体。归属暂定区域地图用于将位于西海洋大道432-444号的两个地块合并为一个地面空间地块和两个空域地块。(第2区)(申请号1312-03)",-888,2,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,写字楼,写字楼“,-999,-999,-999,-888,95,0,-999,1 ,2,153,19,80,-999,0,1,43,21,25,6,0,0,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-888,-888,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999-999,-999,-999,-999,-999,-999,-1,0,-999,-999,12/5/2013,5/21/2015,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-532d,-999,-999,2,-999,-988,0,-999,-999,-999,-999,-999,-999,-999,-990,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,-999,33.767216946954,-118.197018766954,

在整个电子表格中有很多-999没有做任何事情,它是无用的。

但我想要做的是将其开发成可以通过TypeScript类访问的数据结构。

所以我的想法是,理想情况下,数据应该是这样的:

代码语言:javascript
复制
const data = [
  {Address: '123 Main Street', Development_Plan: 'Downtown' },
  {Address: '21 Peaceful Way', Development_Plan: 'Residential' },
];

如何将CSV数据转换为上述格式?

我正在寻找示例代码。我尝试过其他方法,比如在这一团字符串上调用split,并将它们转换为字符串数组,然后映射到每个单独的字符串上,在逗号上拆分,最终得到一个二维字符串。

很明显,我已经找到了上面我想要的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-11 09:06:57

我还没有测试过,但它应该可以工作

代码语言:javascript
复制
class Data {
    address: string;
    developmentPlan: string;

    static DELIMITER = ",";

    constructor(rawRow: string) {
        const data= rawRow.split(Data.DELIMITER);

        this.address = data[8];
        this.developmentPlan = data[9]; // change the index based on the cols position
    }
}

const ROW_DELIMITER = "\r\n";

const rawData = fs.readFileSync("Data-Table 1.csv", {
    encoding: "utf-8",
});

const data: Data[] = [];

for (const rawRow of rawData.split(ROW_DELIMITER)) {
    data.push(new Data(rawRow));
}

console.log(data);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67479082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档