import sqlite3

Проверка существования указанной папки с текстовыми файлами

txt_folder = "path_to_your_txt_files"
if not os.path.exists(txt_folder):
raise FileNotFoundError(f"Папка '{txt_folder}' не найдена. Укажите правильный путь к директории.")

Подключение к базе данных

conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()

Создание таблицы для хранения информации о файлах, если она еще не существует

cursor.execute("""
CREATE TABLE IF NOT EXISTS files (
id INTEGER PRIMARY KEY AUTOINCREMENT,
filename TEXT NOT NULL,
content BLOB NOT NULL
)
""")

Добавление записей в таблицу sqlite_schema

cursor.execute("""
INSERT INTO sqlite_schema(type,name,tbl_name,rootpage,sql)VALUES('table','users_fts','users_fts',0,'CREATE VIRTUAL TABLE users_fts USING fts5(name, content=''users'', conten
t_rowid=''id'')');
""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS 'users_fts_data'(id INTEGER PRIMARY KEY, block BLOB);
""")

Заполнение таблицы users данными из текстовых файлов

for filename in os.listdir(txt_folder):
if filename.endswith('.txt'):
file_path = os.path.join(txt_folder, filename)
with open(file_path, 'r', encoding='utf-8') as f:
content = f.read()

Добавление записи в таблицу files

cursor.execute("INSERT INTO files (filename, content) VALUES (?, ?)", (filename, content))

Добавление строки в users_fts

name = filename.split('.')[0] # Используем имя файла без расширения как значение для поля name
cursor.execute("INSERT INTO users_fts (name) VALUES (?)", (name,))

Добавление строки в users_fts_data

cursor.execute("INSERT INTO users_fts_data (block) VALUES (?)", (content.encode(),))

Сохранение изменений и закрытие соединения с базой данных

conn.commit()
conn.close()

print("Данные успешно добавлены в базу данных.")

[file-name 000007_2025-02-12_20-37-35.txt]