将嵌套的JSON内容转储转换为XLS

我有一个内容pipe理站点的JSON转储,格式如下:

[ { id: "obj1", children: [...] }, { id: "obj2", children: [...] } ] 

有2-4个嵌套级别。

什么是最好的方式将其转换为Microsoft Excel XLS,以便以某种方式处理嵌套的级别,为Excel的客户可以玩他们的数据?

有了这个特定的数据,一种方法可以为每个顶层文件夹(嵌套层次)创build一个新的工作表。 所有工作表将包含从特定文件夹中的JSON对象中选取的相同列名称。

有没有现成的工具来导入JSON到Excel?

最好作为一个命令行工具,如果需要脚本,那么在Python中。

这取决于你的数据。

如果嵌套发生没有任何重复,那么最简单的select是复制所有内容或留下空白,如果您的数据足够完整,能够重复发现一个空白。

这意味着XLS作为CSV将如下所示:

 Element1 Element1.1 Element1.1.1 ... Element1 Element1.1 Element1.1.2 ... Element2 Element2.1 Element2.1.1 ... 

每个元素都是其左边的一个子元素。 你可以看到一个父母重复的次数与它乘以每个孩子出现次数的次数一样多。

你也可以做一个非常简单的两列表:

 **Parent** **Child** Element1 Element1.1 Element1.1 Element1.1.1 Element1.1 Element1.1.2 Element2 Element2.1 Element2.1 Element2.1.1 ... 

什么元素取决于你的粒度。 您可以将key = values对作为一个string组合使用,您可以将几个字段组合成一个,然后使用正则expression式对其进行分析,也可以分隔所有内容,并将该关键字视为一个元素,将该值视为另一个值。

最后,如果有一些规律,那么你可以采取一个更有趣的方法,假设你有一些重复的字段名,在这种情况下,你可以采取任何以前的方法,但使用字段名来生成一个matrix,而不是一个列表。 第一个例子很简单,因为它显然是一个元组列表,它已经有一个隐式序号头,第二个元素是一个表,可能看起来像一个matrix,但是你可以这样做。

 **Parent** **Child (default)** **Repeating key1** **Repeating key2** e1 e1.1 e1.1 e1.1.1 e.1.1.1 something e.1.1 e.1.1.2 e.1.1.2 somethingelse 

所以基本上最后你有一个稀疏的matrix。

有一种非常有趣的方法可以在XLS上使用几张纸来存储三维matrix,但是人的可读性可能随之降低。 归结到你正在使用的数据, 没有一个通用的解决scheme

我认为PHP – Spreadsheet引擎是你所需要的..

这里是你的查询的一些链接:

  • 链接1
  • 链接2

希望对你有帮助 ..:)

我想你是要求这个..

  $excel = new SimpleExcel('csv'); // instantiate new object (will automatically construct the parser & writer type as CSV) $excel->writer->setData( $array // this is array generated from json ); // add some data to the writer $excel->writer->setDelimiter(";"); // (optional) if delimiter not set, by default comma (",") will be used instead $excel->writer->saveFile('example');