需要在特定参数下将DataFrame提取到JSON文件

时间:2017-07-07 13:08:06

标签: python json excel python-2.7 pandas

我有一个使用pandas从Excel .xlsx文件创建的DataFrame,如下所示:

    TypeName
    TypeA
    TypeB
    TypeC

    ElementName1
    1A
    1B
    1C

    ElementName2
    2A
    2B
    2C

为了澄清,第一组属性描述了" name"每种类型的属性,而其余属性澄清每个元素的实际值。我需要使用以下格式将其提取到json文件(最好使用pandas DataFrame.to_json,但其他人也可以):

    {"TypeName": {
            "ElementName1": {
                    "TypeA": "1A",
                    "TypeB": "1B",
                    "TypeC": "1C",
                    },
            "ElementName2": {
                    "TypeA": "2A",
                    "TypeB": "2B",
                    "TypeC": "2C",
                    },
            },
    }

然而,在大量玩弄资产熊猫提供的参数之后,我还没有能够解决这个问题。

1 个答案:

答案 0 :(得分:0)

我不确定如何以优雅(非手动)的方式将TypeName作为第一把钥匙,但这无论如何都可以帮到你:

from io import StringIO

import pandas


df = pandas.read_csv(StringIO("""
TypeName,ElementName1,ElementName2
TypeA,1A,2A
TypeB,1B,2B
TypeC,1C,2C"""))

df.set_index('TypeName').to_json()

至少你得到这种结构:

{
 "ElementName1": {
         "TypeA": "1A",
         "TypeB": "1B",
         "TypeC": "1C",
         },
 "ElementName2": {
         "TypeA": "2A",
         "TypeB": "2B",
         "TypeC": "2C",
         },
 }