Untitled
unknown
plain_text
2 years ago
2.7 kB
6
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