Прежде всего, json, который вы разместили выше, не является действительным json, я проверил его через онлайн-валидатор (этот: https://jsonlint.com/) и немного его почистил, чтобы он выглядел так:
[{"participants": ["panbacevich", "sabinabacevich"],
"conversation": [{"sender": "panbacevich",
"created_at": "2018-09-11T07:43:00.344130+00:00",
"media_owner": "tyrone",
"media_share_caption": "Fr lol",
"media_share_url": "https://scontent-lax3-1.cdninstagram.com/vp/%2018f52cd945b10a7c6612ccb1644ee0a3/5C320320/t51.2885-%2015/e35/40456720_1886441298071798_219870885965499684_n.jpg?%20ig_cache_key=MTg2NTYxNjkxOTEyNzQ2NzY5Mg%3D%3D.2"
}]
}]
Обратите внимание, что я удалил поле 'отправитель'.
Оттуда относительно просто загрузить его в кадр данных с помощью пакета json:
import json
import pandas as pd
file = [{"participants": ["panbacevich", "sabinabacevich"],
"conversation": [{"sender": "panbacevich",
"created_at": "2018-09-11T07:43:00.344130+00:00",
"media_owner": "tyrone",
"media_share_caption": "Fr lol",
"media_share_url": "https://scontent-lax3-1.cdninstagram.com/vp/%2018f52cd945b10a7c6612ccb1644ee0a3/5C320320/t51.2885-%2015/e35/40456720_1886441298071798_219870885965499684_n.jpg?%20ig_cache_key=MTg2NTYxNjkxOTEyNzQ2NzY5Mg%3D%3D.2"
}]
}]
data = json.dumps(file)
df = pd.read_json(data)
ОттудаСтолбец «Разговор» может быть доступен с помощью df.conversation.values
, и тогда нужный вам дикт находится внутри списка внутри списка. Он может быть разбит по:
dict_you_want = df.conversation.values[0][0]
Оттуда вы можете получить доступ ко всему, что вам нужно.как из обычного словаря:
print(dict_you_want['media_share_caption'])
"Fr lol"
Обратите внимание, что если бы Датафрейм был длиннее 1 строки, вам также пришлось бы выбрать, к какой строке вы хотите получить доступ.
Надеюсь, это поможет!