Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.72 KB | None | 0 0
  1. import pandas as pd
  2. import pandas.io.sql
  3. import pymssql
  4. from tkinter import *
  5. import time
  6.  
  7. master = Tk()
  8.  
  9. Label(master, text="Query").grid(row=2, column=1)
  10. Label(master, text="File Name").grid(row=4, column=1)
  11.  
  12. e = Text(master, height=2, width=50)
  13. e.grid(row=3, column=1)
  14. e2 = Entry(master)
  15. e2.grid(row=5, column=1)
  16. e.focus_set()
  17.  
  18. conn = pymssql.connect(
  19.     host=r"host",
  20.     user=r"user",
  21.     password="password",
  22.     database="database"
  23. )
  24.  
  25. pd.options.display.max_rows = 10000
  26.  
  27. #shortcut key commands
  28. def status(self):
  29.     global top
  30.     top = Toplevel()
  31.     top.title('Running')
  32.     msg = Message(top, text="Running Query...                     ", width=750)
  33.     msg.grid(row=0, column=1)
  34.    
  35. def run(self):
  36.     time.sleep(10)
  37.     try:
  38.         sql = e.get('1.0', END)
  39.         filename = e2.get()
  40.         if filename == '':
  41.             global top
  42.             top = Toplevel()
  43.             top.title('Error')
  44.             msg = Message(top, text="Please Provide File Name         ", width=750)
  45.             msg.grid(row=0, column=1)
  46.         else:
  47.             df = pandas.io.sql.read_sql(sql, conn)
  48.             df.to_csv("C:/Desktop/" + filename + ".csv", index=False)
  49.             top = Toplevel()
  50.             top.title('Finished')
  51.             msg = Message(top, text="Query Executed Successfully         ", width=750)
  52.             msg.grid(row=0, column=1)
  53.     except:
  54.         top = Toplevel()
  55.         top.title('Error')
  56.         msg = Message(top, text="SQL Error! Please check your query             ", width=750)
  57.         msg.grid(row=0, column=1)
  58.  
  59. def comb(self):
  60.     status(self)
  61.     run(self)
  62.  
  63. master.bind('<F5>', comb)
  64. master.title("Query")
  65. master.minsize(width=250, height=100)
  66. mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement