Untitled
unknown
plain_text
a year ago
2.7 kB
3
Indexable
import sqlite3 import pandas as pd # Функция для подключения к базе данных def connect_to_db(db_name): conn = sqlite3.connect(db_name) return conn # Функция для получения данных из базы данных def get_data_from_db(conn, query): return pd.read_sql_query(query, conn) # Функция для сравнения данных с санкционным списком def compare_with_sanction_list(data, sanction_list): return data[data['item'].isin(sanction_list)] # Функция для сортировки списка методом пузырька def bubble_sort(data, key): n = len(data) for i in range(n): swapped = False for j in range(0, n - i - 1): if data.iloc[j][key] < data.iloc[j + 1][key]: data.iloc[j], data.iloc[j + 1] = data.iloc[j + 1], data.iloc[j] swapped = True if not swapped: break return data # Функция для фильтрации данных def filter_data(data, column_name, threshold): # Пример фильтрации данных по условию filtered_data = data[data[column_name] > threshold] return filtered_data # Функция для построения отчета def build_report(data, output_file): data.to_csv(output_file, index=False) # Основная функция def main(): # Подключение к базе данных conn = connect_to_db('database.db') # Получение данных из базы данных query = "SELECT * FROM export_import_data" data = get_data_from_db(conn, query) # Считывание санкционного списка sanction_list = pd.read_csv('sanction_list.csv')['item'].tolist() # Сравнение данных с санкционным списком data_for_analysis = compare_with_sanction_list(data, sanction_list) # Фильтрация данных filtered_data = filter_data(data_for_analysis, 'some_column', some_value) # замените 'some_column' и some_value на ваши # Ранжирование списка методом пузырька по популярности ranked_data = bubble_sort(filtered_data, 'popularity') # Построение отчета на основе ранжирования данных build_report(ranked_data, 'ranked_report.csv') # Закрытие подключения к базе данных conn.close() if __name__ == "__main__": main()
Editor is loading...
Leave a Comment