/
zinyaevaa
/
database
Обзор
Документация
Войти
/
zinyaevaa
/
database
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lab5/savingPriceData.py
82 строки
3 KB
zinyaevaa
lab5
04 май 2025, 23:29
04 май 2025, 23:29
f732d70
Код
Авторство
О чём код?
import time #import tarantool import uuid import psycopg2 import psycopg2.extras from datetime import datetime #import tarantool.error psycopg2.extras.register_uuid() def connect_to_picodata(host='127.0.0.1', port=4327, dbname = 'crypto_rates', user = 'user', password = 'User123456'): """ Устанавливает соединение с базой данных Picodata. Args: host: Хост базы данных. port: Порт базы данных. dbname: Имя базы даннных. user: Пользователь. password: Пароль. Returns: Объект соединения с базой данных. Возвращает None в случае ошибки. """ try: conn = psycopg2.connect( host = host, port = port, dbname = dbname, user = user, password = password ) return conn except psycopg2.errors.DatabaseError as e: print(f"Ошибка при подключении к базе данных: {e}") return None def insert_rate(conn, symbol, price_usd): """ Вставляет данные о курсе криптовалюты в таблицу rates. Args: conn: Объект соединения с базой данных. symbol: Символ криптовалюты. price_usd: Цена в долларах США. timestamp: Временная метка. Returns: True в случае успеха, False в случае ошибки. """ try: #datetime_object = datetime.datetime.fromtimestamp(timestamp) #datetime = datetime.now().strftime("%Y-%m-%d %H:%M:%S") cursor = conn.cursor() cursor.execute(''' INSERT INTO rates (id, symbol, price_usd, timestamp) VALUES (%s, %s, %s, to_date(%s, '%%Y-%%m-%%d %%H:%%M:%%S')); ''', (uuid.uuid4(), symbol, price_usd, datetime.now().strftime("%Y-%m-%d %H:%M:%S")) ) #space = conn.space('rates') #space.insert((None, symbol, price_usd, datetime_object)) return True except psycopg2.errors.DatabaseError as e: print(f"Ошибка при вставке данных: {e}") return False if __name__ == '__main__': conn = connect_to_picodata() if conn: symbol = "bitcoin" price_usd = 60000.0 if insert_rate(conn, symbol, price_usd): print("Данные успешно вставлены.") else: print("Не удалось вставить данные.") conn.close() else: print("Не удалось установить соединение с базой данных.")