Записать актуальные цены в другую таблицу sqlite. Python

Есть лог изменения цен продуктов (price_log). В течении времени цены могут изменятся. Таблица отсортирована по дате Как мне с помощью sqlite (python) вывести актуальные цены продуктов и сохранить результат в другую таблицу (price_res)?

Сам решил с помощью DataFrame (pandas), но нужно решение именно с помощью sqlite.

    import sqlite3
    import datetime

    try:
        conn = sqlite3.connect('sql7.db')
        cursor = conn.cursor()
        print("Подключен к SQLite")

        sqlite_create_table_query = '''CREATE TABLE IF NOT EXISTS price_log (
                                       ID INT,
                                       product TEXT NOT NULL,
                                       joiningDate timestamp,
                                       price INT);'''

        cursor.execute(sqlite_create_table_query)

        sqlite_create_table_query = '''CREATE TABLE IF NOT EXISTS price_res (
                                       ID INT,
                                       product TEXT NOT NULL,
                                       price INT);'''

        cursor.execute(sqlite_create_table_query)

        data = [('1', 'хлеб', '7/9/2002', 34),
            ('2', 'молоко', '8/9/2002', 58),
            ('3', 'хлеб', '9/9/2002', 12),
            ('4', 'масло', '10/9/2002', 56),
            ('5', 'молоко', '10/9/2002', 74),
            ('6', 'масло', '10/9/2002', 56),
            ('7', 'хлеб', '17/9/2002', 82),
            ('8', 'масло', '19/9/2002', 13),
            ('9', 'хлеб', '21/9/2002', 5)]

        cursor.executemany("INSERT INTO price_log VALUES (?,?,?,?)", data)
        conn.commit()

        for row in cursor.execute("SELECT * FROM price_log"):
            print(row)


        cursor.close()

    except sqlite3.Error as error:
        print("Ошибка при работе с SQLite", error)
    finally:
        if conn:
            conn.close()
            print("Соединение с SQLite закрыто")

Решение с помощью Dataframe:

    import pandas as pd
    import sqlite3

    dict = {'Продукт':["хлеб", "молоко", "хлеб", "масло", "молоко", "масло", "хлеб", "масло", "хлеб"],

            'Дата измен. цены': ["01.01", "03.01", "07.01", "11.01", "15.01", "18.01", "21.01", "23.01", "25.01"],

            'Цена':[34, 45, 35, 75, 42, 52, 63, 5, 8]}

    df = pd.DataFrame(dict)
    df1 = df.iloc[::-1]


    print(df1.iloc[0][0], df1.iloc[0][2])
    arr = [df1.iloc[0][0]]
    for i in range(1, df.shape[0]):
         if df1.iloc[i][0] not in arr:
            print(df1.iloc[i][0], df1.iloc[i][2])
            arr.append(df1.iloc[i][0])

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