#create excel doc
writer = pd.ExcelWriter('SeriesofSheets.xlsx')
#sql query
cursor = cnxn.cursor()
script = """
select *
from TblCustomersA with (nolock)
"""
#run query
cursor.execute(script)
#write query to sheet
df = pd.read_sql_query(script, cnxn)
df.to_excel(writer, sheet_name='Customers A')
#sql 2nd query
cursor = cnxn.cursor()
script = """
select *
from TblCustomersB with (nolock)
"""
#run query
cursor.execute(script)
#write query to sheet
df = pd.read_sql_query(script, cnxn)
df.to_excel(writer, sheet_name='Customers B')
#Save the excel document
writer.save()
Весь этот код + мое собственно соединение SQL прекрасно работает для создания документа Excel и последующих листов.
Что я хотел бы сделать - это бросить оператор If / then, который будет искать в строке 2 данные. Если он отсутствует, удалить лист.
Я пробовал что-то вроде этого:
active_sheet = df.get_sheet_by_name("Customers B")
if active_sheet['A2'].isnull():
df.remove_sheet(active_sheet)
else:
Continue
Однако я получил ошибку типа данных. Как проверить, что мой запрос не дал результатов, а затем пропустить этот лист?