Функция cur.fetchall () дает пустой кортеж вместо списка в python - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь запустить скрипт python, в котором я создал соединение с mysql и выполнил запрос, но в результате запроса вместо списка отображается пустой кортеж. Я не знаю, что случилось с этим. Можете ли вы помочь мне, как это сделать? Если результат запроса пуст, то он должен дать список со столбцами в формате словаря. Но это ничего не дает.

Пожалуйста, помогите мне, как получить результат.

Пример:

import pymysql.cursors
import pandas as pd
import psycopg2

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

with db.cursor() as cur:
    query = "select * from imedical_master_metadata where Master_Job_Name = 'GRP'" 
    cur.execute(query)
    res = cur.fetchall()
    col = [i[0] for i in cur.description]
    db.commit()


df = pd.DataFrame(res, columns=col)
print(res)
print(df)

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

()
Empty DataFrame
Columns: []
Index: []

Результат, который я хочу получить:

[{'layer' : None, 'Table_name' : None, 'Count' : None}]

DataFrame:

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