SQL

Вопрос по SQL + Python

Есть вот такая потребность у меня, скажите, можно как-то реализовать?
Есть файлик input.xlsx, в нем 1 столбец с номерами заказа. Около 15 - 30 строчек
Я хочу чтобы sql прочитал из файла эти номера и по ним произвел поиск в другой таблице, скажем на дату, когда эти заказы были сформированы.
Как передать в sql эти номера заказов? Понимаю что python нужен, а что еще? пример есть какой-нитбудь?
Макс Игнатюк
Макс Игнатюк
5 458
Да, вы можете использовать Python для чтения номеров заказов из файла Excel (input.xlsx) и передачи их в SQL-запрос для поиска соответствующих записей в другой таблице. Для этого вам понадобится следующее:

1. Библиотека Pandas: Используйте библиотеку Pandas для чтения данных из файла Excel и загрузки их в DataFrame, который представляет собой таблицу данных в памяти.

2. Библиотека SQLAlchemy: SQLAlchemy - это библиотека Python для работы с базами данных. Она предоставляет удобный способ создания SQL-запросов и взаимодействия с различными СУБД.

3. Драйвер БД: Вам также потребуется драйвер базы данных для вашей конкретной СУБД. Например, для PostgreSQL вы можете использовать драйвер psycopg2.

Вот пример кода на Python, который объединяет эти компоненты:


import pandas as pd
from sqlalchemy import create_engine

# Чтение данных из файла Excel
df = pd.read_excel('input.xlsx', sheet_name='Sheet1')

# Создание строки с номерами заказов для использования в SQL-запросе
order_numbers = ','.join([str(order_number) for order_number in df['Номер заказа']])

# Подключение к базе данных (в данном случае PostgreSQL)
engine = create_engine('postgresql://username:password@host:port/database')

# Выполнение SQL-запроса с использованием номеров заказов
query = f"SELECT * FROM orders WHERE order_number IN ({order_numbers})"
result = pd.read_sql(query, engine)

# Вывод результата
print(result)


В этом примере мы предполагаем, что у вас уже есть база данных с таблицей "orders", и вы замените соответствующие данные для подключения к вашей СУБД (username, password, host, port, database) и структуру вашей таблицы (orders). Вы также должны изменить имя столбца ("Номер заказа") на соответствующее в вашем файле Excel.

Этот код будет читать номера заказов из файла Excel, создавать строку с номерами заказов в формате, понятном SQL-запросу, выполнять запрос к базе данных и выводить результат.
*e* *b*
*e* *b*
183
Лучший ответ
Макс Игнатюк что же ты творишь chat gpt, сейчас кандратий хватит.
Всё можно. Нужны структуры и драйвер БД, форматы входных данные. То есть проблема решается по месту, а не в общем.
SJ
Serik.98_T Janym
99 084