【发布时间】:2021-06-26 19:40:35
【问题描述】:
我在这里做了很多搜索,寻找可以帮助我的东西,并找到了一些对初始 json 有帮助的东西。
我有一个这种格式的 csv:
STUDENT_ID,FULL_NAME,COURSE_CODE,COURSE_NAME,DISCIPLINE_NAME
1,STUDENT_ONE,GAM,GESTAO AMBIENTAL,BIOQUÍMICA AMBIENTAL
1,STUDENT_ONE,GAM,GESTAO AMBIENTAL,GEOPROCESSAMENTO APLICADO À GESTÃO AMBIENTAL
2,STUDENT_TWO,COM,COMERCIO,FUNDAMENTOS DO COMÉRCIO EXTERIOR
2,STUDENT_TWO,COM,COMERCIO,PROJETO INTEGRADOR II
2,STUDENT_TWO,COM,COMERCIO,LÍNGUA PORTUGUESA III
2,STUDENT_TWO,COM,COMERCIO,QUÍMICA II
2,STUDENT_TWO,COM,COMERCIO, FÍSICA I
2,STUDENT_TWO,COM,COMERCIO,EDUCAÇÃO FÍSICA I
2,STUDENT_TWO,COM,COMERCIO,MATEMÁTICA III
2,STUDENT_TWO,COM,COMERCIO,SOCIOLOGIA III
2,STUDENT_TWO,COM,COMERCIO,FUNDAMENTOS DE CONTABILIDADE APLICADOS AO COMÉRCIO E SERVIÇOS
2,STUDENT_TWO,COM,COMERCIO,BIOLOGIA III
2,STUDENT_TWO,COM,COMERCIO,FILOSOFIA III
3,STUDENT_THREE,TME,TEORIAS E METODOLOGIAS DA EDUCAÇÃO,TRABALHO DE CONCLUSÃO DO CURSO
我能够使用以下代码为 COD_CURSO 生成一个 json:
temp1 = {}
for student in out:
curso = student.pop("COD_CURSO")
if not temp1.get(curso, None):
temp1[curso] = []
temp1[curso].append(student)
json 如下所示:
{
"GAM": [
{
"STUDENT_ID": 1,
"FULL_NAME": "STUDENT_ONE",
"COURSE_NAME": "GESTAO AMBIENTAL",
"DISCIPLINE_NAME": "BIOQUÍMICA AMBIENTAL"
},
{
"STUDENT_ID": 1,
"FULL_NAME": "STUDENT_ONE",
"COURSE_NAME": "GESTAO AMBIENTAL",
"DISCIPLINE_NAME": "GEOPROCESSAMENTO APLICADO À GESTÃO AMBIENTAL"
}
],
"COM": [
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "FUNDAMENTOS DO COMÉRCIO EXTERIOR"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "PROJETO INTEGRADOR II"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "LÍNGUA PORTUGUESA III"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "QUÍMICA II"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": " FÍSICA I"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "EDUCAÇÃO FÍSICA I"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "MATEMÁTICA III"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "SOCIOLOGIA III"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "FUNDAMENTOS DE CONTABILIDADE APLICADOS AO COMÉRCIO E SERVIÇOS"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "BIOLOGIA III"
},
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": "FILOSOFIA III"
}
],
"TME": [
{
"STUDENT_ID": 3,
"FULL_NAME": "STUDENT_THREE",
"COURSE_NAME": "TEORIAS E METODOLOGIAS DA EDUCAÇÃO",
"DISCIPLINE_NAME": "TRABALHO DE CONCLUSÃO DO CURSO"
}
]
}
我想将重复的学生与他们各自的学科合并,如下所示。
{
"GAM": [
{
"STUDENT_ID": 1,
"FULL_NAME": "STUDENT_ONE",
"COURSE_NAME": "GESTAO AMBIENTAL",
"DISCIPLINE_NAME": [
"BIOQUÍMICA AMBIENTAL",
"GEOPROCESSAMENTO APLICADO À GESTÃO AMBIENTAL"
]
}
],
"COM": [
{
"STUDENT_ID": 2,
"FULL_NAME": "STUDENT_TWO",
"COURSE_NAME": "COMERCIO",
"DISCIPLINE_NAME": [
"FUNDAMENTOS DO COMÉRCIO EXTERIOR",
"PROJETO INTEGRADOR II",
"LÍNGUA PORTUGUESA III",
"QUÍMICA II",
"FÍSICA I",
"EDUCAÇÃO FÍSICA I",
"MATEMÁTICA III",
"SOCIOLOGIA III",
"FUNDAMENTOS DE CONTABILIDADE APLICADOS AO COMÉRCIO E SERVIÇOS",
"BIOLOGIA III",
"FILOSOFIA III"
]
}
],
"TME": [
{
"STUDENT_ID": 3,
"FULL_NAME": "STUDENT_THREE",
"COURSE_NAME": "TEORIAS E METODOLOGIAS DA EDUCAÇÃO",
"DISCIPLINE_NAME": "TRABALHO DE CONCLUSÃO DO CURSO"
}
]
}
知道我该怎么做吗?
【问题讨论】:
-
你如何确定学生是什么?我不知道您的数据使用的语言,很难从字段名称中分辨出来。
-
我编辑语言数据并通过 STUDENT_ID 确定学生。
-
你能举一个你的程序应该有输出的例子吗?合并后数据应该如何呈现?
-
@AkilanManivannan 我在主帖中放了一个例子。
标签: python json csv dictionary