我有一个SQL查询,它可能返回空或非空记录。我需要用Python执行这个查询:import os
import pandas as pd
import pymysql
from pandas import ExcelWriter
from sqlalchemy import create_engine
connection = pymysql.connect(host='localhost',
user='root',
password='root',
db='device_db',
cursorclass=pymysql.cursors.DictCursor)
cur3=connection.cursor()
cur3.execute('SELECT outgoing_db.Customer_No, sum(SUM_IC_CALLS) AS SumOfSUM_IC_CALLS, sum(SUM_AIC_DURATION_C1) AS SumOfSUM_AIC_DURATION_C1, sum(SUM_AIC_AMOUNT_C1) AS SumOfSUM_AIC_AMOUNT_C1, outgoing_db.Rate, outgoing_db.Customer_Name FROM outgoing_db WHERE (((outgoing_db.User_ID) != ("IND")) AND ((outgoing_db.Incoming_ID)="Airtel") AND ((outgoing_db.Customer_Type)="Check") AND ((outgoing_db.Current_Operation)="NO") AND ((outgoing_db.Active)="NO")) GROUP BY outgoing_db.Customer_No, outgoing_db.Rate, outgoing_db.Customer_Name HAVING (((outgoing_db.Customer_No) In (33165,33197)));')
mydf3=pd.DataFrame(cur3.fetchall())
print(mydf3)
它给了我一个例外:
^{pr2}$
当我执行cur3.fetchone()时,它会给我一个输出:Empty DataFrame
Columns: []
Index: []
但这些数据可能会在未来增加(大约100万)。
有没有使用cur3.fetchall()返回空数据帧的解决方案