import pandas as pd
import pandas_datareader.data as readData
import tkinter as tk
from tkinter import ttk
from tkinter import Menu
Main_win = tk.Tk()
Main_win.title('Stock BigData')
Main_win.geometry("840x525")
Main_win.resizable(False, False)
def _quit():
Main_win.quit()
Main_win.destroy()
exit()
def _check_search():
stock_code = str(_find_code()) + '.KS'
start_day = topFrame_start_day_entered.get()
end_day = topFrame_end_day_entered.get()
df = pd.DataFrame(readData.DataReader(stock_code, "yahoo", pd.to_datetime(start_day), pd.to_datetime(end_day)))
print(df)
def _find_code():
url = 'http://kind.krx.co.kr/corpgeneral/corpList.do?method=download'
df = pd.read_html(url, header=0)[0]
df = df[['회사명', '종목코드']]
df['종목코드'] = df['종목코드'].astype(str)
df['종목코드'] = df['종목코드'].apply(lambda x: x.zfill(6))
stock_name = topFrame_name_entered.get()
stock_code = df[df['회사명'] == stock_name].iloc[0][1]
return stock_code
topFrame = tk.Frame(Main_win, relief='solid')
topFrame.pack(side='top', fill='both', expand=1)
topFrame_label_1 = ttk.Label(topFrame, text=" 종목명 ")
topFrame_label_1.grid(column=0, row=0, sticky='w', padx=5, pady=5)
topFrame_name = tk.StringVar()
topFrame_name_entered = ttk.Entry(topFrame, width=24, textvariable=topFrame_name)
topFrame_name_entered.grid(column=1, row=0, sticky='w', padx=5, pady=5)
topFrame_label_2 = ttk.Label(topFrame, text=" 시작일 ")
topFrame_label_2.grid(column=2, row=0, sticky='w', padx=5, pady=5)
topFrame_start_day = tk.StringVar()
topFrame_start_day_entered = ttk.Entry(topFrame, width=10, textvariable=topFrame_start_day)
topFrame_start_day_entered.grid(column=3, row=0, sticky='w', padx=5, pady=5)
topFrame_start_day_entered.insert(0, "2000.01.01")
topFrame_label_3 = ttk.Label(topFrame, text=" 종료일 ")
topFrame_label_3.grid(column=4, row=0, sticky='w', padx=5, pady=5)
topFrame_end_day = tk.StringVar()
topFrame_end_day_entered = ttk.Entry(topFrame, width=10, textvariable=topFrame_end_day)
topFrame_end_day_entered.grid(column=5, row=0, sticky='w', padx=5, pady=5)
topFrame_end_day_entered.insert(0, "2020.12.31")
topFrame_button_1 = ttk.Button(topFrame, text="OK", command=_check_search)
topFrame_button_1.grid(column=6, row=0, sticky='w', padx=5, pady=5)
tab_Control = ttk.Notebook(Main_win)
tab1 = ttk.Frame(tab_Control)
tab_Control.add(tab1, text=" 주식 차트 ")
tab_Control.pack(expand=1, fill='both')
tab1_canvas = tk.Canvas(tab1, relief='solid', bg='white', width='800', height='400')
tab1_canvas.grid(column=0, row=0, sticky='w', padx=17, pady=30)
menu_bar = Menu(Main_win)
Main_win.config(menu=menu_bar)
file_menu = Menu(menu_bar, tearoff=0)
file_menu.add_command(label="Save")
file_menu.add_separator()
file_menu.add_command(label="Exit", command=_quit)
menu_bar.add_cascade(label='File', menu=file_menu)
help_menu = Menu(menu_bar, tearoff=0)
help_menu.add_command(label="About", command=_quit)
menu_bar.add_cascade(label='Help', menu=help_menu)
Main_win.mainloop()
[결과]



'Python Code' 카테고리의 다른 글
| [파이썬코드] tkinter, Frame, Notebook, Canvas (0) | 2021.10.15 |
|---|---|
| [파이썬코드] tkinter, Lable, StringVar, Button (0) | 2021.10.10 |
| [파이썬코드] tkinter, tab, menu (0) | 2021.10.10 |
| [파이썬 코드] pandas, for (0) | 2021.10.05 |
| [파이썬 코드] pandas, RSI (0) | 2021.10.04 |







