【问题标题】:Advice for multi level csv file creation多级 csv 文件创建的建议
【发布时间】:2012-10-03 13:58:28
【问题描述】:

我在 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>

【问题讨论】:

  • 似乎每个 都是 CSV 中的一行,每个 都是一列。
  • 那么,你有什么建议,我使用不同的分隔符?请给我一个逗号分隔格式的行示例,其中包含 2 个孩子。
  • 谢谢,也许你的意思是一样的,但我最终使用了这样的同一行:ParentColumn1 ParentColumn2 ChildColumn1 ChildColumn2

标签: xml csv nested idioms


【解决方案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"}]}

参考文献

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多