Skip to content

europrom-injectors/eurosearch

Repository files navigation

run.py:

import streamlit as st
import sqlite3
import pandas as pd

st.set_page_config(
    page_title="Европоиск",
    page_icon="💾",
    layout="wide",
    initial_sidebar_state="expanded"
)


# Скрываем меню и подвал с помощью CSS
hide_streamlit_style = """
<style>
#MainMenu {visibility: hidden;}
footer {visibility: hidden;}
header {visibility: hidden;}
</style>
"""
st.markdown(hide_streamlit_style, unsafe_allow_html=True)

# Создаем подключение к SQLite
conn = sqlite3.connect('data.db')
cursor = conn.cursor()

# Пользовательский ввод в боковой панели
user_input = st.sidebar.text_input("Введите поисковый запрос:")

if user_input:
    # Формируем и выполняем SQL-запрос поиска
    cursor.execute("SELECT * FROM data WHERE LOWER(name) LIKE '%' || LOWER(?) || '%'", (user_input,))
else:
    # Если пользователь не ввел поисковый запрос, выбираем все данные
    cursor.execute("SELECT * FROM data")

results = cursor.fetchall()

# Получаем названия колонок из cursor.description
column_names = [desc[0] for desc in cursor.description]

# Если есть результаты, отображаем их в виде DataFrame
if results:
    df = pd.DataFrame(results, columns=column_names)

    st.data_editor(df, hide_index=True)
    #  st.markdown(df.to_html(index=False), unsafe_allow_html=True)
else:
    st.write("Результаты не найдены.")

run_test.py:

import streamlit as st
import sqlite3
import pandas as pd

if 'session_created' not in st.session_state:
    # Код, который выполняется только один раз при создании новой сессии
    df = pd.DataFrame(
        {
            'Id': [9, 8, 7],
            'Name': ['Simon', 'Nini', 'Sokama']
        }
    )
    st.session_state['dataframe'] = df
    st.session_state['session_created'] = True

# Получаем DataFrame из состояния сессии
df = st.session_state['dataframe']

hide_streamlit_style = """
<style>
#MainMenu {visibility: hidden;}
footer {visibility: hidden;}
header {visibility: hidden;}
</style>
"""
st.markdown(hide_streamlit_style, unsafe_allow_html=True)

user_input = st.sidebar.text_input("Введите поисковый запрос:")
mask = df['Name'].apply(lambda x: user_input.lower() in str(x).lower())
df[mask] = st.data_editor(df[mask])
print(df)

run_write.py:

import streamlit as st
import sqlite3
import pandas as pd

st.set_page_config(
    page_title="Европоиск ввод",
    page_icon="✒️",
    layout="wide",
    initial_sidebar_state="expanded"
)

hide_streamlit_style = """
<style>
#MainMenu {visibility: hidden;}
footer {visibility: hidden;}
header {visibility: hidden;}
</style>
"""
st.markdown(hide_streamlit_style, unsafe_allow_html=True)

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

user_input = st.sidebar.text_input("Введите поисковый запрос:")

# Новые виджеты ввода данных для добавления или обновления записей
record_input = st.sidebar.text_input("Введите новую запись:")
update_input = st.sidebar.text_input("Введите обновленную запись:")
record_id_input = st.sidebar.text_input("Введите ID записи для обновления:")

# Если введена новая запись, вставляем ее в базу данных
if record_input:
    cursor.execute("INSERT INTO data (name) VALUES (?)", (record_input,))
    conn.commit()

# Если введены обновленная запись и ID записи, обновляем запись в базе данных
if update_input and record_id_input:
    cursor.execute("UPDATE data SET name = ? WHERE id = ?", (update_input, record_id_input))
    conn.commit()

cursor.execute("SELECT * FROM data")
results = cursor.fetchall()
column_names = [desc[0] for desc in cursor.description]

if results:
    df = pd.DataFrame(results, columns=column_names)
    mask = df['name'].apply(lambda x: user_input.lower() in str(x).lower())
    st.data_editor(df, hide_index=True)
    print(df)
else:
    st.write("Результаты не найдены.")

test.py:

import pandas as pd
from sqlalchemy import create_engine

# Загрузите данные из Excel в DataFrame
df = pd.read_excel('data.xlsx')  # Укажите здесь свой путь к файлу

# Создайте подключение к базе данных
engine = create_engine('sqlite:///Z:/GitHub/europoisk/data.db')

# Запишите данные из DataFrame в таблицу в базе данных
df.to_sql('data', engine, if_exists='replace', index=False)  # Заменил 'table_name' на 'data', поскольку вы указали, что таблица называется 'data'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages