Advertisement
AliaksandrLet

Спринт 3 - Тема 2 - Урок 9 - Задание 1

Jun 19th, 2023 (edited)
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.26 KB | None | 0 0
  1. import pandas as pd
  2. import psycopg2
  3.  
  4. # Подключение к базе данных
  5. conn = psycopg2.connect(
  6.     host="localhost",
  7.     port=5432,
  8.     dbname="de",
  9.     user="jovyan",
  10.     password="jovyan"
  11. )
  12. cur = conn.cursor()
  13.  
  14. # Загрузка данных из файла в DataFrame
  15. user_orders_log = pd.read_csv('/lessons/2. Анализ вводных по задаче/7. Использование файлов и подключение к БД/Задание 1/stage/user_order_log.csv')
  16.  
  17. # SQL-шаблон для вставки данных
  18. insert_uol = """
  19.    INSERT INTO
  20.         stage.user_order_log
  21.    (
  22.         id, uniq_id, date_time, city_id, city_name, customer_id, first_name, last_name, item_id, item_name, quantity, payment_amount
  23.    )
  24.    VALUES
  25.         {uol_val};
  26. """
  27.  
  28. # Загрузка данных по частям
  29. step = int(user_orders_log.shape[0] / 100)
  30. i = 0
  31. while i <= user_orders_log.shape[0]:
  32.     print(i, end='\r')
  33.     uol_val = str([tuple(x) for x in user_orders_log.loc[i:i + step].to_numpy()])[1:-1]
  34.  
  35.     print(uol_val)
  36.  
  37.     cur.execute(insert_uol.replace('{uol_val}', uol_val))
  38.     conn.commit()
  39.     i += step + 1
  40.  
  41. # Закрытие соединения с базой данных
  42. cur.close()
  43. conn.close()
  44.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement