我想用d3JS绘制网络图表,并且在格式化数据时遇到一些麻烦。我的预期结果是得到此图表:https://bl.ocks.org/mbostock/1062288
作为输入,我具有以下数据集(简化):
注意1:我必须在包含+ 1M行的文件中执行
注2:我正在使用PHP创建JSON / Python也可以
from, to
https://example.org/, https://example.org/dir1/page/1.html
https://example.org/, https://example.org/dir1/page/2.html
https://example.org/, https://example.org/dir1/page/3.html
https://example.org/, https://example.org/dir2/page/1.html
https://example.org/, https://example.org/dir2/page/2.html
https://example.org/, https://example.org/dir3/page/1.html
https://example.org/, https://example.org/dir4/page/2.html
https://example.org/, https://example.org/dir5/page/3.html
https://example.org/dir1/page/1.html, https://example.org/
https://example.org/dir1/page/1.html, https://example.org/dir1/page/2.html
https://example.org/dir1/page/1.html, https://example.org/dir1/page/3.html
https://example.org/dir1/page/1.html, https://example.org/dir2/page/1.html
https://example.org/dir1/page/2.html, https://example.org/
https://example.org/dir1/page/3.html, https://example.org/dir1/page/2.html
https://example.org/dir1/page/3.html, https://example.org/dir2/page/1.html
https://example.org/dir1/page/3.html, https://example.org/dir2/page/1.html
https://example.org/dir2/page/1.html, https://example.org/dir6/page/1.html
https://example.org/dir3/page/1.html, https://example.org/dir7/page/1.html
https://example.org/dir5/page/1.html, https://example.org/
https://example.org/dir6/page/1.html, https://example.org/
https://example.org/dir6/page/1.html, https://example.org/dir7/page/1.html
当URL中的每个目录成为一个节点,然后是子节点时,我想将其转换为树基节点。
例如,此URL https://example.org/dir1/page/1.html
将以dir1
作为节点,page
是子节点,然后1.html
是page
的子节点。
我想要得到的是类似的东西:
{
"name": "https://example.org/",
"children": [
{
"name": "dir1",
"children": [
{
"name": "page",
"children": [
{"name": "page",
"children": [
{"name": "1", "size": 3534},
{"name": "1", "size": 3534}
{"name": "3", "size": 3534}
]}
]
},
{
"name": "dir2",
"children": [
{"name": "page",
"children": [
{"name": "1", "size": 3534},
{"name": "2", "size": 3534}
]}
]
},
{
"name": "dir3",
"children": [
{"name": "page",
"children": [
{"name": "page",
"children": [
{"name": "1", "size": 3534},
]}
]}
]
},
{
"name": "dir4",
"children": [
{"name": "page",
"children": [
{"name": "2", "size": 3534}
]}
]
},
{
"name": "dir5",
"children": [
{"name": "page",
"children": [
{"name": "3", "size": 3534}
]}
]
}
]
}],
...
}
有什么主意吗?谢谢