将嵌套JSON内容转储转换为XL

2024-10-03 23:19:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个来自内容管理站点的JSON转储,其格式如下:

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

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

]

有2-4个嵌套级别。在

什么是将其转换为microsoftexcelxls以便以某种方式处理嵌套级别的最佳方法,以便能够使用Excel的客户使用他们的数据?在

对于这些特定的数据,一种方法是为每个顶层文件夹(嵌套层)创建一个新的工作表。所有工作表将包含从该特定文件夹中的JSON对象中选取的相同列名。在

有没有现成的工具可以将JSON导入Excel?在

最好是作为命令行工具,如果需要脚本编写,则使用Python。在


Tags: 工具数据方法文件夹idjson内容站点
2条回答

我认为PHP-电子表格引擎正是您所需要的。。在

以下是您的查询链接:

希望这对你有帮助……:)

我猜你是在问这个。。在

            $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');                

这取决于你的数据。在

如果嵌套是在没有任何重复的情况下发生的,那么最简单的选择是复制所有内容,或者如果您的数据足够完整,能够假设在找到空白的位置重复,则留下空白。在

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

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

其中每个元素都是其左侧元素的子元素。您可以看到父对象的重复次数是子对象的倍数乘以每个子对象出现的次数。在

您也可以创建一个包含两列的非常简单的表:

^{pr2}$

元素是什么取决于你的粒度。您可以将key=值对组合成一个字符串,可以将多个字段组合成一个并用正则表达式进行解析,或者可以将所有内容分开,将键视为元素,将值视为另一个元素。在

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

**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

所以基本上你得到了一个稀疏矩阵。在

在XLS上使用多个表来存储三维矩阵有着非常有趣的方法,但是人类的可读性可能随之下降。归根结底就是你使用的数据,没有通用的解决方案。在

相关问题 更多 >