【问题标题】:CSV file to Json in JavascriptCSV 文件到 Javascript 中的 Json
【发布时间】:2016-04-07 11:58:12
【问题描述】:

我有一个问题,我有一个“CSV 文件”数据,它看起来像这样

source,xPos,target,xPos,value
user1,0,user2,1,4
user2,1,user3,2,4
user1,0,user3,2,2
user4,2
userA1,1,userA2,2,4

我需要修改它,因为我的函数使用了这种格式的数据集变量,它在某种程度上是 JSON 格式,它应该看起来像:

{
"nodes":[
{"node":0,"name":"user1","xPos":0},
{"node":1,"name":"user2","xPos":1},
{"node":2,"name":"user3","xPos":2},
{"node":3,"name":"user4","xPos":2},
{"node":4,"name":"userA1","xPos":1}
{"node":5,"name":"userA2","xPos":2}
],
"links":[
{"source":0,"target":1,"value":4},
{"source":1,"target":2,"value":4},
{"source":0,"target":2,"value":2},
{"source":4,"target":5,"value":4}]
}

源和目标是它们已经预定义的节点号。

是否可以在 javascript 中做到这一点?

【问题讨论】:

  • 阅读 JavaScript 中的循环、字符串拆分和连接;这是解析文本并以另一种文本格式输出。你试过什么吗?你看过哪些资源?请参阅stackoverflow.com/help/asking 了解如何提出好的问题。

标签: javascript json csv sankey-diagram


【解决方案1】:

是的,可以在 Javascript 中做到这一点。

【讨论】:

  • 我正在尝试搜索,但没有找到任何提示@Pogrindis
  • 疯了吧?你只需要一些神奇的仙尘,当然洒在你的笔记本电脑或 PC 上,然后如果你有任何代码(对的就是多余的东西!),它会自行修复!
  • @Pogrindis :) Chris:这里有一些有用的函数:String.prototype.split 用于分割行和列,Array.prototype.reduce 用于构建所需的对象,JSON.stringify 用于获取 JSON 字符串
【解决方案2】:

先将csv数据按行拆分:

var lines = csvData.split("\n");

然后对于每一行用逗号(,)分隔行

var dataLine = lines[1].split(","); //not the 0th line as it has only the headers

然后使用 for 或 forEach 循环 dataLine 并按照您想要的方式组织数据。声明两个 json 数组,一个用于"links",另一个用于"nodes"。然后将组织好的数据分配给他们。

这是一种方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2018-03-24
    • 1970-01-01
    相关资源
    最近更新 更多