如何将CSV转换为层级JSON

0 投票
1 回答
1882 浏览
提问于 2025-04-18 15:47

我有一个csv文件,内容大概是这样的:

Category Sub-Category Value
 A            A1        1
 A            A2        2
 A            A3        5
 B            B1        10
 B            B2        3
 C            C1        2
 C            C2        2
 C            C3        3
 D            D1        5

我需要把它转换成json格式(层级结构),这样才能用d3.js来做一些可视化。所以,我想把它变成下面这个样子:

{
 "name": "AllData",
 "children": [
  {
   "Category": "A",
     "children": [
      {"Sub-Category": "A1", "Value": 1},
      {"Sub-Category": "A2", "Value": 2},
      {"Sub-Category": "A3", "Value": 5}]...

我该怎么做呢?我对javascript不太熟悉,更希望能用python来实现。

1 个回答

0

这样做是可以的

import json
f = open('path/to/file','r')
arr=[]
headers = []

for header in f.readline().split(','):
headers.append(header)



for line in f.readlines():
lineItems = {}

for i,item in enumerate(line.split(',')):  
lineItems[headers[i]] = item


arr.append(lineItems)

f.close()

jsonText = json.dumps(arr)

print jsonText

来源链接在这里:source.

撰写回答