Как вернуть SQL-ответ в виде одной записи с помощью python

#python #sql #pandas #dataframe

Вопрос:

Я использую python для запроса базы данных Hive, чтобы вернуть create table инструкцию.

Мой приведенный ниже код возвращает правильную информацию, однако он разделен на несколько строк во фрейме данных, а не на одну строку, являющуюся целым оператором.

Это становится проблемой, когда я запускаю его в цикле для экспорта всех сценариев создания таблиц.

Есть ли способ отформатировать данные ответа таким образом, чтобы они хранились в одной записи/строке? Я использую read_sql функцию pandas и пытался передавать разные параметры, но безуспешно.

Мой код таков:

 import pyodbc  import pandas as pd   pyodbc.autocommit = True  con = pyodbc.connect("DSN=my_hive_connection", autocommit=True)  table = "db.student_fact"  query = 'SHOW CREATE TABLE {0}'.format(table)   df = pd.read_sql(query, con)  print(df)  

Результат, который я получаю от этого, таков:

 createtab_stmt  0 CREATE EXTERNAL TABLE `db.student_fact...  1 `student_name` string,   2 `student_id` string,   3 `metric` double,   4 `class_dim` string)  5 ROW FORMAT SERDE   ...  23 'totalSize'='1458773')  

В то время как в идеале у меня было бы что-то вроде приведенного ниже, с каждой записью одного утверждения:

 createtab_stmt  0 CREATE EXTERNAL TABLE `db.student_fact...  `student_name` string,   `student_id` string,   `metric` double,   `class_dim` string)  ROW FORMAT SERDE   'totalSize'='1458773')