как получить результат запроса в списке словарного формата в python? - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь выполнить запрос sql по сценарию python. В таблице SQL нет записей, поэтому следует напечатать пустой фрейм данных, но он печатает что-то другое. Раньше я получал правильный результат, но вдруг он изменился, я не знаю, как это произошло. Можете ли вы помочь мне, как я могу получить результат?

Пример:

import pymysql.cursors
import pandas as pd

db = pymysql.connect(host=host, 
                    user=user', 
                    passwd=password,
                    db=database, 
                    cursorclass=pymysql.cursors.DictCursor)

with db.cursor() as cur:
    #query ='''select (Current_Count) as count from imedical_table_count where layer ='Refined' and Table_name = 'GRP';'''
    query = "select * from imedical_table_count where Table_name='KOL_DESIGNATION' and layer='Refined'"
    #query = '''select Current_Count as count from imedical_table_count where Table_name= 'KOL_DESIGNATION' and layer="Refined" and Recon_Date="2020-04-23"'''
    #query = '''SELECT trim(CONCAT_WS('|',mtd.Master_Job_Name,Seq,Table_Name,Source_File_Name_Lnd,landingdfname,Target_Path,s3_tgt_path,query,mtd.Execution_Sequence)) from cde.imedical_master_metadata mtd inner join cde.imedical_master_metadata_query mtq on (mtd.Master_Job_Name=mtq.Master_Job_Name) where mtd.Is_Active='Y' order by mtd.Execution_Sequence'''
    cur.execute(query)
    res = cur.fetchall()


df = pd.DataFrame(res)
print(res)
print(df)

Это дает такой результат:

Empty DataFrame
Columns: []
Index: []
[Finished in 4.5s]

Ожидаемый результат:

Data Frame should print like this:

  layer Table_name Data_set_name Previous_count
0 None  None       None          None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...