【发布时间】:2021-06-18 21:17:12
【问题描述】:
我从菜单创建了 csv
Main,Level 1,Level 2 ,Level 3,Level 4
Forest,,,,
,lvl1link,,,
,,lvl2link,,
,,lvl2link2,,
Cloud,,,,
,clv1,,,
,,clvl2,,
,,clvl22,,
,,,clvl3,
,,,,clvl4
Energy,,,,
,enlvl1,,,
,enlvl11,,,
,,enlvl2,,
,,,enlvl3,
,,,enlvl31,
我从另一个项目导出了 csv,我需要创建子站点并重新创建菜单结构。
如何将其转换为 JSON,其中 Forest 是 lvl1link 的父级,lvl1link 是 lvl2link、 lvl2link2 的父级等等。
在我看来,这可以通过一些递归函数来完成。
示例步骤
- 检查具有
Main元素值的前 2 行的索引并记下它们的索引 - 现在在查找 col2 中的元素并记下它们的索引时迭代到第二行的索引
- 通过对返回以下列的其余列重复上述步骤来构建多维数组
array(
'Forest' => array(
'lvl1link' => array(
'lvl2link',
'lvl2link2'
)
),
'Cloud' => array(
'clv1' => array(
'clvl2',
'clvl22' => array(
'clvl3' => array(
'clvl4'
)
)
)
),
'Energy' => array(
'enlvl1',
'enlvl11' => array(
'enlvl2' => array(
'enlvl3',
'enlvl31'
)
)
)
);
我可以使用 php、python 或 javascript。
请指点我正确的方向
【问题讨论】:
-
如果
Main到Level 4是键,则它不会正确排列。您使用什么语言? JSON 和 CSV 不是语言。阅读minimal reproducible example 部分