Использование JSON с пандами, проблема с вложенной информацией (python) - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь использовать файл JSON для создания таблицы с pandas.

import seaborn as sns
import pandas as pd
from pandas.io.json import json_normalize


releves = pd.read_json('DataTP2.json')
releves

Мой файл структурирован следующим образом:

[
  {
    "trimestre":"H2012",
    "cours":[
      {
        "sigle":"TECH 20701",
        "titre":"La cybersécurité et le gestionnaire",
        "etudiants":[
          {
            "matricule":"22003545",
            "nom":"Lahaie,Olivier",
            "note":"A+",
            "valeur": 4.3
          },

и т. Д.

При использовании read_json таблица не отображает вложенную информацию и вместо этогопоказывает все менее отступы элементов в одну строку как так:

|Cours|Trimestre|

Мой желаемый результат будет:

|etudiant|nom|matricule|note|valeur|sigle|titre|trimestre|

Я пыталсяиспользуя normalize_json, но я получаю следующую ошибку:

AttributeError: 'str' object has no attribute 'itervalues'

Я пытался преобразовать в словарь перед использованием нормализации, но появляется другая ошибка,Кто-нибудь может помочь мне выбраться из этого контрольно-пропускного пункта?

Спасибо

1 Ответ

1 голос
/ 04 ноября 2019

Эй, это должно сгладить ваш JSON

json_normalize(arr, record_path=['cours', 'etudiants'], 
           meta=['trimestre', ['cours', 'sigle'], ['cours', 'titre']], 
           record_prefix='etudiant_')
...