Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

код на Python для поиска слов по папкам с базами данных.

Вот один из возможных


вариантов:

python
# Импортируем необходимые библиотеки
import os
import sqlite3
import re

# Задаем путь к папке с базами данных


db_folder = "db_folder"

# Задаем слово для поиска


search_word = "Python"

# Создаем список для хранения результатов поиска


search_results = []

# Проходим по всем файлам в папке с базами данных


for file in os.listdir(db_folder):
# Проверяем, что файл является базой данных SQLite
if file.endswith(".db"):
# Создаем полный путь к файлу базы данных
db_file = os.path.join(db_folder, file)
# Создаем подключение к базе данных
conn = sqlite3.connect(db_file)
# Создаем курсор для выполнения SQL-запросов
cursor = conn.cursor()
# Получаем список всех таблиц в базе данных
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
tables = cursor.fetchall()
# Проходим по всем таблицам в базе данных
for table in tables:
# Получаем имя таблицы
table_name = table[0]
# Получаем список всех столбцов в таблице
cursor.execute(f"PRAGMA table_info({table_name})")
columns = cursor.fetchall()
# Проходим по всем столбцам в таблице
for column in columns:
# Получаем имя столбца
column_name = column[1]
# Задаем SQL-запрос для поиска слова в столбце таблицы
sql_query = f"SELECT * FROM {table_name} WHERE {column_name} LIKE
'%{search_word}%'"
# Выполняем SQL-запрос и получаем результат в виде списка кортежей
cursor.execute(sql_query)
result = cursor.fetchall()
# Проверяем, что результат не пустой
if result:
# Добавляем информацию о файле, таблице, столбце и результате в
список результатов поиска
search_results.append((db_file, table_name, column_name,
result))
# Закрываем подключение к базе данных
conn.close()

# Выводим результаты поиска в консоль


for db_file, table_name, column_name, result in search_results:
print(f"Найдено совпадение в файле {db_file}, таблице {table_name}, столбце
{column_name}:")
print(result)

Этот код позволяет поискать слово по всем папкам с базами данных SQLite. Код ищет
все совпадения слова во всех столбцах всех таблиц всех файлов. Вы можете изменить
путь к папке с базами данных, слово для поиска и формат вывода результатов в
соответствии с вашими данными. Я надеюсь, что этот код поможет вам в вашем проекте.
😊

You might also like