Присоединение нескольких файлов JSON с помощью Python - PullRequest
0 голосов
/ 17 октября 2019

Я новичок в JSON, никогда не использовал пакеты Python для манипулирования файлами JSON. У меня есть 10 файлов JSON, которые я хотел бы объединить в один, используя python.

Каждый из 10 файлов имеет точно такую ​​же структуру и около 50 000 записей

Пример:

Файл один

{"tracking_code":"21703238","from_country":"FR","to_country":"FR","amount":3.23}
...

Пример: Файл два

{"tracking_code":"41545695","from_country":"FR","to_country":"FR","amount":2.9}
...

Желаемый результат будет просто:

{"tracking_code":"21703238","from_country":"FR","to_country":"FR","amount":3.23}
{"tracking_code":"41545695","from_country":"FR","to_country":"FR","amount":2.9}

Вторая часть моих вопросов будет такой - какя присоединяюсь к файлам JSON на основе одного ключа? Я хотел бы объединить эти 2 файла с помощью «tracking_code», выходной файл просто добавит «сумму»: 3,23 'к первому файлу.

Пример: Файл один:

{"tracking_code":"29285908","from_country":"FR","to_country":"FR",
"package_type_id":10,"transaction_id":172238850,
"shipping_label_created":"2018-09-25 18:40:52"}

Пример: Файл два

{"tracking_code":"29285908","from_country":"FR","to_country":"FR","amount":3.23}

Желаемый вывод:

{"tracking_code":"29285908","from_country":"FR","to_country":"FR",
"package_type_id":10,"transaction_id":172238850,
"shipping_label_created":"2018-09-25 18:40:52","amount":3.23}

Спасибо.

1 Ответ

0 голосов
/ 17 октября 2019

Если вы используете json.loads() (который «конвертирует» словарь json в python), вы можете объединить их, используя похожую функцию:

def dict_merge(dict1, dict2): 
    return(dict2.update(dict1)) 

, а затем использовать json.dumps() для сериализации полученного словаря вjson.

Другое решение:

Вы также можете использовать json-merger (установка через pip install json-merger)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...