如何将 csv 转换为 json 并编写特定函数以使用 javascript 生成图形?

Posted

技术标签:

【中文标题】如何将 csv 转换为 json 并编写特定函数以使用 javascript 生成图形?【英文标题】:How to convert csv to json and write a specific function to generate a graph using javascript? 【发布时间】:2020-05-10 11:05:42 【问题描述】:

我正在尝试通过使用关键线生成图表来可视化数据。它以 json 格式获取数据。 我正在尝试将 excel 数据转换为 json 格式。我在 excel 表中有两列。

起始节点连接节点

A - B

A - C

A - D

B-D

D-F

既然有几千行数据,我应该写一个什么样的函数才能在javascript中生成这种格式的项目:

我需要先初始化节点和链接。

const data =  type: 'LinkChart',
  items: [
     type: 'node', id: 'ac1',
     type: 'node', id: 'ac2',
     type: 'link', id: 'l1', id1: 'ac1', id2: 'ac3 ,
     type: 'link', id: 'l2', id1: 'ac1', id2: 'ac3' 
  ]
;

要创建图表,我需要以这种特定方式编写它。首先,我必须初始化类型节点并为 A B C D F 编写该行。之后,我必须编写“链接”行。

我创建了一个字典,使用 python 将 csv 转换为 json [“开始”:“A”,“连接”:“B”,“开始”:“A”,“连接”:“C”,“开始”:“A”,“连接”: “D”,“开始”:“B”,“连接”:“C”,“开始”:“D”,“连接”:“F”]

如何编写一个函数来获取这些数据并将其写入项目部分以生成图表。就像首先写入所有节点然后以相同模式写入链接线的方式一样。我需要以这种格式编写 50,000 多行。此外,我如何才能唯一地初始化节点,因为 A 中的节点被初始化为节点一次,而不是数据中的 3 次。我是新手,所以我不太清楚。

【问题讨论】:

您需要提供一些关于您打算如何将输入转换为所需输出的想法,以及您尝试过的内容。例如。输入有 5 个节点和 5 行(如果 ABDF 计为 1 行,则为 3 行),但 data 示例只有 3 个节点和 2 行。 是的,我做到了...如何编写该函数?或者我应该通过和研究的任何特定主题 【参考方案1】:

尝试这样的事情(使用 Python 术语。在 js 中,用数组替换列表,用对象替换 dict)

    将电子表格保存到 csv 将 csv 读入列表(50k 行很多,但 除非您的数据值很大,否则仍应立即加载) 创建空items列表 使用map 函数或简单的for 循环遍历数据列表 在这个循环函数中,为每一行创建一个字典,检查items是否有一个以当前节点为类型的字典(你也可以在字典中创建一个单独的节点列表——可能更快但也可以使用更多内存) 如果不创建字典并添加到items 为链接创建另一个字典并将其添加到items(如果您需要避免重复链接,请先在此处检查) 在循环之后,将items 数组添加到您的data 字典中

【讨论】:

您好,谢谢,我尝试创建字典:["start": "A", "connect": "B", "start": "A", "connect": " C","start":"A","connect":"D","start":"B","connect":"C","start":"D"," connect": "F"] 我在 python 中只将 csv 转换为 json。现在我只需要以图表项目的格式编写它来生成图形......我不知道我应该如何编写该函数,例如首先定义节点然后定义链接

以上是关于如何将 csv 转换为 json 并编写特定函数以使用 javascript 生成图形?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Csv 转换为 Json 并使用 Php 接收 Post?

如何使用 jq 将任意简单 JSON 转换为 CSV?

如何将 JSON 转换为 CSV 格式并存储在变量中

将 CSV/XLS 转换为 JSON? [关闭]

Node js:以编程方式更改 csv 文件编码并解析为 json

Python将字符串转换为int [重复]