Я хочу преобразовать типы 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 автоматически выводить?