从超过 15 天开始,我正在尝试使用 Python3 实现以下 JSON 结构。我有一个具有不同列的 csv 文件并将其转换为嵌套 JSON,但我使用的代码重复了这些值并且没有给出预期的输出。
在使用 Python 3 将 CSV 转换为嵌套 JSON 时,我需要您的帮助。
CSV contains
A B C D E F G
at bt bd before departure "N" 20220101 ""
vl 1 fl Fly on line "N" 20220101 ""
at F002 NF Now Fly "N" 20220101 ""
vl 1 CF Clear To Fly "N" 20220101 ""
vl 2 NC Now fly Clear "N" 20220101 ""
vl 3 LF Low FLY "N" 20220101 ""
at F003 NoF Not Fly "N" 20220101 ""
vl 1 AD Accident Damage "N" 20220101 ""
**Code I am using:**
df2=pd.read_csv('tes.csv')
k = (df2.groupby(['A','B','C'])
.apply(lambda x: x[['A','B','C','D']].to_dict('records'))
.reset_index()
.rename(columns={0:'b'})
.to_json(orient='records'))
print(json.dumps(json.loads(k), indent=2, sort_keys=False))
**output getting:**
[
{
"A": "at",
"B": "F002",
"C": "NF",
"b": [
{
"A": "at",
"B": "F002",
"C": "NF",
"D": "Now Fly"
}
]
},
{
"A": "at",
"B": "F003",
"C": "NoF",
"b": [
{
"A": "at",
"B": "F003",
"C": "NoF",
"D": "Not Fly"
}
]
},
{
"A": "at",
"B": "bt",
"C": "bd",
"b": [
{
"A": "at",
"B": "bt",
"C": "bd",
"D": "before departure"
}
]
},
{
"A": "vl",
"B": "1",
"C": "AD",
"b": [
{
"A": "vl",
"B": "1",
"C": "AD",
"D": "Accident Damage"
}
]
},
{
"A": "vl",
"B": "1",
"C": "CF",
"b": [
{
"A": "vl",
"B": "1",
"C": "CF",
"D": "Clear To Fly"
}
]
},
{
"A": "vl",
"B": "1",
"C": "fl",
"b": [
{
"A": "vl",
"B": "1",
"C": "fl",
"D": "Fly on line"
}
]
},
{
"A": "vl",
"B": "2",
"C": "NC",
"b": [
{
"A": "vl",
"B": "2",
"C": "NC",
"D": "Now fly Clear"
}
]
},
{
"A": "vl",
"B": "3",
"C": "LF",
"b": [
{
"A": "vl",
"B": "3",
"C": "LF",
"D": "Low FLY"
}
]
}
]
**Expected Output:**
"dict":[
{
"A": "at",
"B": "bt",
"C": "bd",
"D": "before departure",
"b":[
{
"A": "vl",
"B": "1",
"C": "fl",
"S": [],
"T": [],
"b":[
{
"A": "at",
"B": "F002",
"C": "NF",
"D": "Now Fly",
"b":[
{
"A": "vl",
"B": "1",
"C": "CF",
"D": "Clear To Fly",
"S":[],
"T":[],
"b":[]
}
{
"A": "vl",
"B": "2",
"C": "NC",
"D": "Now fly Clear",
"S": [],
"T": [],
"b":[]
}
{
"A": "vl",
"B": "3",
"C": "LF",
"D": "Low FLY",
"S":[],
"T":[],
"b":[]
}
]
}
{
"A": "at",
"B": "F003",
"C": "NoF",
"D": "Not Fly",
"b":[
{
"A": "vl",
"B": "1",
"C": "AD",
"D": "Accident Damage",
"S":[],
"T":[],
"b":[]
}
]
}
}
]
}
]
我正在尝试实现以下类型的层次结构。