Сценарий Python для создания нескольких файлов JSON с предопределенными данными

Я новичок в Python, у меня есть простое требование в моем проекте iOS. Я хочу создать несколько файлов JSON с некоторыми данными исправлений в каждом файле. Я погуглил несколько статей, но не нашел именно то, что хотел бы сделать. Так как мне этого добиться?

Следующие вещи я могу сделать это, но не дает ожидаемого результата:

У меня есть текстовый файл со списком из 100 имен. Этот текстовый файл я сохранил в папке, где также есть файл сценария. Теперь я хочу создать текстовый файл для каждого имени в списке в той же папке, для чего я сделал что-то вроде этого:

titles = open("title.txt",'r')

for lines in titles:
    output = open((lines.strip())+'.json','w')
    output.write(lines.strip('\n'))
    output.close()

titles.close()

Этот скрипт успешно создает файлы с указанными именами.

Теперь я хочу записать заранее определенные данные исправления в каждый файл. Это мой пример данных JSON, я хочу скопировать эти данные в каждый файл. Как мне этого добиться.

{
  "product": "Live JSON generator",
  "version": 3.1,
  "releaseDate": "2014-06-25T00:00:00.000Z",
  "demo": true,
  "person": {
    "id": 12345,
    "name": "John Doe",
    "phones": {
      "home": "800-123-4567",
      "mobile": "877-123-1234"
    },
    "email": [
      "jd@example.com",
      "jd@example.org"
    ],
    "dateOfBirth": "1980-01-02T00:00:00.000Z",
    "registered": true,
    "emergencyContacts": [
      {
        "name": "Jane Doe",
        "phone": "888-555-1212",
        "relationship": "spouse"
      },
      {
        "name": "Justin Doe",
        "phone": "877-123-1212",
        "relationship": "parent"
      }
    ]
  }
}

1 ответ

Решение

Вы можете использовать pprint для печати данных в файле. Если вы хотите, вы можете также изменить JSON DICT и сохранить его, как вам нравится. Вот быстрый пример -

import pprint
my_json_dict = {'some': 'data'}
titles = open("title.txt",'r')

for title in titles:
    output = open((title.strip())+'.json','w')
    pprint.pprint(my_json_dict, stream=output, indent=2)
    output.close()

titles.close()
Другие вопросы по тегам