我在这里做了很多搜索,寻找一些可以帮助我的东西,并找到了一些有助于初始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"
}
]
}
你知道我怎么做吗
这是用python解决的一项伟大任务。您需要转换数据,实际上有很多方法可以做到这一点。现代的方法可能是使用熊猫Pandas使读取CSV数据变得非常容易(
pd.read_csv('data.csv')
)。然后,您可以使用类似于“groupby”的内容,如本article on GeeksForGeeks中所述您也可以使用很好的老python。我在下面陈述我的想法
(注意:“导入数据”只是一个字典,其中包含您在问题/示例中以json形式提供的数据。)
这将产生以下数据:
我创建了一个新的键,而不是只使用对象:
{"COM": {3: data}}
。如果要省略将数据映射到学生({"COM": data}
),可以执行另一个转换:这将导致:
现在,您可以开始重构所有内容,并使其更加高效。:)这是一个有趣的回答,我希望我的回答对你有帮助!祝你好运
相关问题 更多 >
编程相关推荐