JSON
Расширение: .json Разработчик: json.org Тип формата: Data interchange MIME-тип: application/json
JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript. За счёт своей лаконичности по сравнению с XML, формат JSON может быть более подходящим для сериализации сложных структур. Если говорить о веб-приложениях, в таком ключе он уместен в задачах обмена данными как между браузером и сервером (AJAX), так и между самими серверами.
| # | КОНВЕРТИРОВАТЬ ИЗ JSON |
|---|---|
| 1 | JSON в PDF |
| 2 | JSON в EXCEL |
| 3 | JSON в XLSX |
| 4 | JSON в HTML |
| 5 | JSON в ODS |
| 6 | JSON в CSV |
| # | ПРЕОБРАЗОВАТЬ В JSON |
|---|---|
| 1 | EXCEL в JSON |
| 2 | XLSX в JSON |
| 3 | ODS в JSON |
| 4 | CSV в JSON |
| 5 | XML в JSON |
Как с помощью python объединить все файлы json формата в один?
У меня более ста файлов json с одинаковой структурой. Нужно их объединить в один json файл. Нагуглил следующий пример, но он выдает ошибку:
def do_merge(): merged = [] for infile in glob.glob("*.json"): with open(infile, 'r', encoding='utf-8') as infp: data = json.load(infp) merged.extend(data) with open("merged_file.json", 'w', encoding="utf-8") as outfp: json.dump(merged, outfp)
Читаю все файлы из одной директории и записываю все в один файл все в той же директории. Ошибка:JSONDecodeError: Expecting value: line 1 column 1 (char 0) Json на валидность проверил:
< "id": "b193f0b9d7ad", "imp": [< "id": "0", "instl": 0, "tagid": "TAG_ID", "secure": 0, "exp": 1800, "banner": < "format": [< "w": 300, "h": 100 >, < "w": 240, "h": 400 >, < "w": 300, "h": 600 >, < "w": 300, "h": 300 >, < "w": 1920, "h": 1080 >, < "w": 300, "h": 50 >, < "w": 1024, "h": 768 >, < "w": 480, "h": 320 >, < "w": 768, "h": 1024 >, < "w": 320, "h": 250 >, < "w": 300, "h": 250 >, < "w": 160, "h": 600 >, < "w": 320, "h": 850 >, < "w": 720, "h": 90 >, < "w": 320, "h": 480 >, < "w": 640, "h": 360 >, < "w": 640, "h": 480 >, < "w": 1280, "h": 720 >, < "w": 720, "h": 1080 >, < "w": 336, "h": 280 >, < "w": 320, "h": 100 >, < "w": 728, "h": 90 >, < "w": 250, "h": 250 >, < "w": 970, "h": 250 >, < "w": 970, "h": 90 >, < "w": 320, "h": 50 >, < "w": 360, "h": 640 >, < "w": 720, "h": 1280 >], "pos": 0 >, "floor": 0.55, "bid": "USD" >], "user": < "id": "6a0c504" >, "at": 2 >
Подскажите как сделать правильно. Благодарю
Как объединить элементы json файла по параметру?
Что-то похожее уже делал раньше, но это было не особо лаконично и достаточно громостко.
- Вопрос задан более года назад
- 549 просмотров
1 комментарий
Простой 1 комментарий

Решения вопроса 1

SuperZombi @SuperZombi
Так пойдет?
arr = [ < "date": "2022-2-7", "other": [123] >, < "date": "2022-2-7", "other": [456] >, < "date": "2022-2-8", "other": [789] >] new_dict = <> for i in arr: if not i['date'] in new_dict.keys(): new_dict[i['date']] = i['other'] else: new_dict[i['date']] += i['other'] print(new_dict)
Ответ написан более года назад

SuperZombi @SuperZombi
Вот еще вариант такой как вы просили, но как по мне легче работать будет со словарем, чем со списком словарей.
arr = [ < "date": "2022-2-7", "other": [123] >, < "date": "2022-2-7", "other": [456] >, < "date": "2022-2-8", "other": [789] >] def delete_repeats(arr): new_dict = <> for i in arr: if not i['date'] in new_dict.keys(): new_dict[i['date']] = i['other'] else: new_dict[i['date']] += i['other'] return new_dict def make_formatted(arr): new_arr = [] for i in arr: new_arr.append() return new_arr print(make_formatted(delete_repeats(arr)))
Ninzalo @Ninzalo Автор вопроса
TypeError: unsupported operand type(s) for +=: ‘dict’ and ‘dict’

SuperZombi @SuperZombi
А все понял. Тогда вот так:
def delete_repeats(arr): new_dict = <> for i in arr: if not i['date'] in new_dict.keys(): new_dict[i['date']] = [i['other']] else: new_dict[i['date']] += [i['other']] return new_dict
Объединить json
Добрый день, подскажите пожалуйста, можно ли как то объединить json? Делаю три get запроса в цикле — результат получаю ПрочитатьJSON(ЧтениеJSON, Истина);, чтение объекта JSON выполняется в Соответствие. Можно ли объединить эти коллекции? Спасибо
По теме из базы знаний
- Процессор вывода результата компоновки данных в JSON. И не только.
- Одна ККТ для розничного магазина и Интернет-сайта
- Автоматическое создание корректировок реализации в УПП 1.3 из файла JSON (выгружаем возвраты поставщику и корректировочные счета-фактуры из 1С 7.7)
- Описание формата 1С JDTO (JSON data transfer object)
- Понимание схемы JSON (JSON Schema), часть 2
Найденные решения
4. FatPanzer 15.10.20 13:50 Сейчас в теме
(3) Получили 1, получили 2 — дополнили в 1, получили 3 — дополнили в 1, получили. Объединять надо соответствия, а не джейсоны.