У меня есть код, где я пишу Excel с несколькими листами. Код читает mySql и пишет эти листы.
Следовать:
import pandas as pd
import pymysql
import os
from FunctionsOilegal import connection, reportSittel, reportSittelByStatus
def callReportAll(Status):
cursor = ''
cursor = reportSittelByStatus(conn,Status)
columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()
dfAux = pd.DataFrame(list(data), columns=columns)
return dfAux
def styleSheets(nome,defaux):
header_format = workbook.add_format({
'bold': True,
'fg_color': '#9ABACC',
'border': 1})
worksheet = writer.sheets[nome]
for col_num, value in enumerate(defaux.columns.values):
worksheet.write(0, col_num , value, header_format)
conn= connection()
cursor = reportSittel(conn)
columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()
df = pd.DataFrame(list(data), columns=columns)
df1 = callReportAll("Error")
df2 = callReportAll('Running')
df3 = callReportAll('Processed')
df4 = callReportAll('Protocoled')
df5 = callReportAll('Received')
df6 = callReportAll('Refused')
conn.close()
writer = pd.ExcelWriter('pandas_multiple.xlsx', engine='xlsxwriter' )
df.to_excel(writer, sheet_name='BASE', index=False)
df1.to_excel(writer, sheet_name='Error', index=False)
df2.to_excel(writer, sheet_name='Running', index=False)
df3.to_excel(writer, sheet_name='Processed', index=False)
df4.to_excel(writer, sheet_name='Protocoled',index=False)
df5.to_excel(writer, sheet_name='Received', index=False)
df6.to_excel(writer, sheet_name='Refused', index=False)
workbook = writer.book
styleSheets('BASE',df)
styleSheets('Error',df1)
styleSheets('Running',df2)
styleSheets('Processed',df3)
styleSheets('Protocoled',df4)
styleSheets('Received',df5)
styleSheets('Refused',df6)
writer.save()
Первый лист пишет так:
Теперь я хочу, чтобы, когда пользователь щелкнул, например, всего «1», его перенаправили на лист с именем «Ошибка»
Возможно ли это?