Python 将数据帧转换为嵌套JSON

Python 将数据帧转换为嵌套JSON,python,json,pandas,Python,Json,Pandas,我有一个包含39个变量的熊猫数据帧。我需要将它转换成JSON格式,这样它就有3个键。例如 {"Key1":"Var1","Key2":{"Var2":"25","Var3":"10","Var4":"5","Var5":"2"},"Key3":{"Var6":"1","Var7":"0","Var8":"10"}} 还需要与变量关联的值作为字符串 任何帮助都将不胜感激 我不知道您的数据帧有多大,但您可以对其进行迭代,处理每一行并将其保存到JSON文件中。让我给你看下面的例子 首先,我将导入包并

我有一个包含39个变量的熊猫数据帧。我需要将它转换成JSON格式,这样它就有3个键。例如

{"Key1":"Var1","Key2":{"Var2":"25","Var3":"10","Var4":"5","Var5":"2"},"Key3":{"Var6":"1","Var7":"0","Var8":"10"}}
还需要与变量关联的值作为字符串


任何帮助都将不胜感激

我不知道您的数据帧有多大,但您可以对其进行迭代,处理每一行并将其保存到JSON文件中。让我给你看下面的例子

首先,我将导入包并创建示例数据集:

import pandas as pd
import json

df = pd.DataFrame(
    [
        {'Var1': 23, 'Var2': 25, 'Var3': 10, 'Var4': 5, 'Var5': 2, 'Var6': 1, 'Var7': 0, 'Var8': 10},
        {'Var1': 24, 'Var2': 26, 'Var3': 11, 'Var4': 6, 'Var5': 3, 'Var6': 2, 'Var7': 1, 'Var8': 11},
        {'Var1': 25, 'Var2': 27, 'Var3': 12, 'Var4': 7, 'Var5': 4, 'Var6': 3, 'Var7': 2, 'Var8': 12},
        {'Var1': 26, 'Var2': 28, 'Var3': 13, 'Var4': 8, 'Var5': 5, 'Var6': 4, 'Var7': 3, 'Var8': 13},
    ]
)

print(df)
该代码生成以下输出:

   Var1  Var2  Var3  Var4  Var5  Var6  Var7  Var8
0    23    25    10     5     2     1     0    10
1    24    26    11     6     3     2     1    11
2    25    27    12     7     4     3     2    12
3    26    28    13     8     5     4     3    13
现在,我将向您展示代码的主要部分:

with open('test_json_file.json', 'w') as file:
    for i, row in df.iterrows():
        json_to_save = {
            "Key1": str(row.Var1),
            "Key2": {
                "Var2": str(row.Var2),
                "Var3": str(row.Var3),
                "Var4": str(row.Var4),
                "Var5": str(row.Var5)
            },
            "Key3": {
                "Var6": str(row.Var6),
                "Var7": str(row.Var7),
                "Var8": str(row.Var8)
            }
        }
        file.write(json.dumps(json_to_save) + '\n')
代码创建
test_json_file.json
文件,并将
json_保存到文件中新行的for循环中定义的
json,例如。G在文件的第一行,您会发现这个json:
{“Key1”:“23”,“Key2”:{“Var2”:“25”,“Var3”:“10”,“Var4”:“5”,“Var5”:“2”},“Key3”:{“Var6”:“1”,“Var7”:“0”,“Var8”:“10”}


我希望它会有所帮助。

我不知道您的数据帧有多大,但您可以对其进行迭代,处理每一行并将其保存到JSON文件中。让我给你看下面的例子

首先,我将导入包并创建示例数据集:

import pandas as pd
import json

df = pd.DataFrame(
    [
        {'Var1': 23, 'Var2': 25, 'Var3': 10, 'Var4': 5, 'Var5': 2, 'Var6': 1, 'Var7': 0, 'Var8': 10},
        {'Var1': 24, 'Var2': 26, 'Var3': 11, 'Var4': 6, 'Var5': 3, 'Var6': 2, 'Var7': 1, 'Var8': 11},
        {'Var1': 25, 'Var2': 27, 'Var3': 12, 'Var4': 7, 'Var5': 4, 'Var6': 3, 'Var7': 2, 'Var8': 12},
        {'Var1': 26, 'Var2': 28, 'Var3': 13, 'Var4': 8, 'Var5': 5, 'Var6': 4, 'Var7': 3, 'Var8': 13},
    ]
)

print(df)
该代码生成以下输出:

   Var1  Var2  Var3  Var4  Var5  Var6  Var7  Var8
0    23    25    10     5     2     1     0    10
1    24    26    11     6     3     2     1    11
2    25    27    12     7     4     3     2    12
3    26    28    13     8     5     4     3    13
现在,我将向您展示代码的主要部分:

with open('test_json_file.json', 'w') as file:
    for i, row in df.iterrows():
        json_to_save = {
            "Key1": str(row.Var1),
            "Key2": {
                "Var2": str(row.Var2),
                "Var3": str(row.Var3),
                "Var4": str(row.Var4),
                "Var5": str(row.Var5)
            },
            "Key3": {
                "Var6": str(row.Var6),
                "Var7": str(row.Var7),
                "Var8": str(row.Var8)
            }
        }
        file.write(json.dumps(json_to_save) + '\n')
代码创建
test_json_file.json
文件,并将
json_保存到文件中新行的for循环中定义的
json,例如。G在文件的第一行,您会发现这个json:
{“Key1”:“23”,“Key2”:{“Var2”:“25”,“Var3”:“10”,“Var4”:“5”,“Var5”:“2”},“Key3”:{“Var6”:“1”,“Var7”:“0”,“Var8”:“10”}


我希望这会有所帮助。

您能使用数据框对象的方法吗?您的熊猫数据框是什么样子的?很难看到列和行如何映射到该JSON。至少,显示该JSON的pandas数据帧版本会很有帮助。您能够使用dataframe对象的方法吗?pandas数据帧看起来像什么?很难看到列和行如何映射到该JSON。至少,展示这个JSON的熊猫数据帧版本会很有帮助。这真是太棒了@Jaroslav!它解决了我的目的。非常感谢@ManojSharma,我很高兴答案解决了你的问题。在这种情况下,请不要忘记回答。这是惊人的@Jaroslav!它解决了我的目的。非常感谢@ManojSharma,我很高兴答案解决了你的问题。那样的话,请别忘了回答。