1

我在 CSV 文件中有一些最终用户想要的数据。每个条目都有一个父节点和零个或多个子节点。例如,父节点可能包含:

Name, Id, Date

虽然子节点可能包含:

Name, ChildId

所以我正在寻找的是在 CSV 中表示多级数据的标准。在 XML 中,我可以轻松地创建子节点。在 CSV 中执行此操作的最佳方法是什么?我想创建一个脚本来提取这些数据,而不会混淆什么是父数据和什么是子数据。

在 XML 中,这可能看起来像:

<Parent Name="name1">
<Child Name="ChildName1"></Child>
<Child Name="ChildName2"></Child>
</Parent>

<Parent Name="name2">
<Child Name="ChildName1"></Child>
<Child Name="ChildName2"></Child>
</Parent>
4

1 回答 1

1

XML可以最小化为:

<names>
 <name1>
  <childName1/>
  <childName2/>
 </name1>

 <name2>
  <childName1/>
  <childName2/>
 </name2>
</names>

CSV对此:

名字 1 孩子名字 1
名字 1 孩子名字 2
名字 2 孩子名字 1
名字 2 孩子名字 2

使用这样的 JSON 序列化:

{“名称”:
 [
  {
  “名称1”:
   [
    {
    "childName1":""
    },
    {
    “childName2”:“”
    }
   ]
  },
  {
  “名称2”:
   [
    {
    "childName1":""
    },
    {
    “childName2”:“”
    }
   ]
  }
 ]
}

在面向行的方式中,XML 可以是:

<names>
 <name1 name="ChildName1|ChildName2">
 <name2 name="ChildName1|ChildName2">
</names>

以及相应的 CSV:

姓名 1 孩子姓名 1|孩子姓名 2
姓名 2 孩子姓名 1|孩子姓名 2

以及相应的 JSON:

{"names": [{"name1":"ChildName1|ChildName2"},{"name2":"ChildName1|ChildName2"}]}

参考

于 2014-04-10T01:39:57.990 回答