Конвертировать SQL Типы запросов в Python Типы - PullRequest
0 голосов
/ 20 марта 2020

Я хочу преобразовать типы dada результатов запроса SQL, выполненного с использованием create_engine из SQLAlchemy, в объект Python, сохранить его как CSV и затем загрузить в другую базу данных SQL, которая может используйте другой диалект. Поскольку мне приходится иметь дело с запросами, которые могут возвращать большое количество строк, данные могут загружаться порциями, а в некоторых случаях определение типа autommati c, сделанное такими инструментами, как Pandas, не подходит (например, is у первого блока все строки имеют значение None, но у следующего есть тексты целых чисел, а у другого только строки ... но на самом деле они только строки).

Я пытался использовать SQLAlchemy.inspect, но он работает только для таблиц, а не для результатов запросов, имеющих объединения, таких как:

SELECT users.id, COUNT(*) AS total_users_orders, SUM(orders.price) AS lifetime_value
FROM users
INNER JOIN orders
   ON orders.user_id = users.id
GROUP BY orders.id

В этом случае я хочу иметь доступ к типу данных user_id (SQL: INT, Python: int) и total_users_orders (SQL: INT, Python: int) и lifetime_value (SQL: FLOAT, Python: float).

Существует любой способ получить типы данных строк, возвращаемых этим запросом, и затем сопоставить их с python типами без полагаясь на Pandas автоматически выводить?

...