Как заполнять данные из полей ввода в ячейки таблицы через python-docx и сохранять их в БД Sqlite

я новичок в Python знаю некоторые основы. Помогите пожалуйста советом. Есть простой интерфейс на PyQt5 в котором 4 поля ввода. Идея такая нужно чтобы при вводе текста в поля ввода при нажатии на кнопку создавался docx файл с со строкой и из четырех столбцов и в каждой ячейке выводились значения из полей ввода. И нужно чтобы по умолчанию в первой строке в ячейках было 4 заголовка,ну а дальше снизу добавлялись строки со значениями введенными в поля ввода. По допотопному с переменными у меня получилось это сделать, присваивая переменным значения из полей ввода. В общем мне в итоге нужно чтобы по хорошему значения из полей ввода записывались в базу данных Sqlite например и потом оттуда выводились в назначенные ячейки в плане того чтобы старые записи сохранялись в БД и уже оттуда подгружались в ячейки, а следом можно было добавлять из полей ввода новые данные. Пример: Например по нажатию кнопки создается файл docx в нем из начально сразу создается строка 4 ячейки в них уже есть Заголовки допустим "Дата" "Продукт" "Кол-во" "Цена". а ниже по нажатию кнопки добавлялись новые строки с данными из полей ввода. Какие есть идеи? Как лучше сделать, добавлять в словарь кортежи из этих данных и потом выводить? Не совсем пойму как это можно сделать, подскажите пожалуйста хотя бы в крации идею как это можно сделать. Мне именно логику понять. То что там в PyQt5 как создаются привязываются поля интерфейсы это мне понятно как делать.


Ответы (1 шт):

Автор решения: krabnerab

поменьше бы воды в вопросе... "В общем мне в итоге нужно чтобы по хорошему значения из полей ввода записывались в базу данных Sqlite"

def add_row(date, product, quantity, price):
    # Подключаемся к базе данных
    conn = sqlite3.connect("mydatabase.db")
    cursor = conn.cursor()
    
    # Вставляем новую запись в таблицу
    params = (date, product, quantity, price)
    cursor.execute('''
        INSERT INTO table (date, product, quantity, price)
        VALUES (?, ?, ?, ?)
    ''', params)
    
    # Сохраняем изменения и закрываем соединение
    conn.commit()
    conn.close()

" по нажатию кнопки создается файл docx в нем из начально сразу создается строка 4 ячейки в них уже есть Заголовки допустим "Дата" "Продукт" "Кол-во" "Цена". а ниже по нажатию кнопки добавлялись новые строки с данными из полей ввода. Какие есть идеи?"

почему нужен docx файл? не лучше ли будет создавать excel таблицу? создать таблицу в pandas и загрузить ее в excel.

def get_data():
    # Подключаемся к базе данных
    conn = sqlite3.connect("mydatabase.db")
    
    # Выполняем SQL-запрос для извлечения данных
    query = "SELECT * FROM table"
    df = pd.read_sql_query(query, conn)
    
    # Закрываем соединение с базой данных
    conn.close()
    
    return df

def create_excel(file="продажи.xlsx"):
    # Сохраняем DataFrame в файл Excel
    df = get_data()
    df.to_excel(file, index=False)
    print(f"Таблица успешно сохранена в файл: {file}")
→ Ссылка