Чтение  JSON файла и запись в SQLite

Здравствуйте! В предыдущей статье мы начали cоздание базы sqlite, для ее заполнения. В сегодняшней статье мы сосредоточимся на процессе переноса данных из JSON файла в базу данных SQLite. Мы уже подготовили базу данных и создали таблицу. Теперь приступим к чтению и записи данных.

Шаг 3: Чтение данных из JSON файла

В вашем JSON файле каждый объект находится на новой строке, поэтому нам нужно построчно читать файл. Для этого используется метод json.loads(), который преобразует строку JSON в словарь.

import json

# Функция для вставки данных из JSON в SQLite
def insert_data(json_file):
    with open(json_file, 'r', encoding='utf-8') as file:
        for line in file:
            try:
                # Читаем каждую строку как отдельный JSON объект
                data = json.loads(line.strip())

                # Вставляем данные в таблицу
                cursor.execute('''
                    INSERT INTO users (first_name, username)
                    VALUES (?, ?)
                ''', (data['first_name'], data['username']))

            except json.JSONDecodeError as e:
                print(f"Ошибка JSON: {e}")

Здесь мы открываем файл, читаем каждую строку, декодируем её в словарь и записываем данные в базу с помощью SQL-запроса.

Шаг 4: Сохранение изменений в базе данных

После того как данные были вставлены в таблицу, нам нужно сохранить изменения и закрыть соединение с базой данных:

        # Сохраняем изменения
        conn.commit()

# Указываем путь к файлу JSON
json_file = 'name.json'

# Вставляем данные
insert_data(json_file)

# Закрываем соединение с базой данных
conn.close()

Мы используем conn.commit(), чтобы зафиксировать изменения в базе, и conn.close() для закрытия соединения.

Заключение

Теперь вы знаете, как перенести данные из JSON файла в базу данных SQLite. Это полезный навык, который можно адаптировать для работы с любыми данными. Вы можете обрабатывать массивы объектов, расширять базу данных и работать с более сложными структурами.

Чтобы глубже освоить Python и научиться применять его в реальных проектах, рекомендуем пройти курс Программирование на Python с Нуля до Гуру

Источник