У меня есть следующий Json:
{
"10208": [
{
"11003": {
"totalExecutions": 1,
"endDate": "",
"description": "",
"totalExecuted": 0,
"started": "",
"versionName": "v2",
"expand": "executionSummaries",
"projectKey": "TEST",
"versionId": 10208,
"modifiedBy": "",
"projectId": 10203,
"startDate": "",
"executionSummaries": {
"executionSummary": []
}
},
"recordsCount": 1
}
],
"-1": [
{
"11005": {
"totalExecutions": 2,
"endDate": "",
"description": "",
"totalExecuted": 1,
"started": "",
"versionName": "Unscheduled",
"expand": "executionSummaries",
"modifiedBy": "",
"projectId": 10203,
"startDate": "",
"executionSummaries": {
"executionSummary": []
}
},
"recordsCount": 1
}
]
}
Мне нужно получить
11003,11005
В качестве вывода (лучше, если бы его можно было сохранить в csv). На самом деле это данные, которые я получаю с веб-страницы (используя запросы). супер новичок в Json .. любая помощь будет оценена по достоинству
2 ответа
Предполагая, что ваш глобальный словарь был загружен в data
, вы можете извлечь ключи с пониманием:
keys = [k for val in data.values() for d in val for k in d.keys()
if k != 'recordsCount']
И вы можете легко записать их в файл csv с помощью:
with open('file.csv', 'w', newline='') as fdout:
wr = csv.writer(fdout)
wr.writerow(keys)
Используйте встроенный json.loads(json: str)
для разбора строки json в python dict.
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.