Я хотел бы нарисовать сетевой график с помощью 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}
]}
]
}
]
}],
...
}
есть идеи?спасибо