2019.11.19 ์ถฉ๋ถ๋ํ๊ต ์ํ๊ณผ ๋ฐ์ง์
์์ ๋ช : ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
์ง๋๊ต์ : ์กฐ์์ญ
- ๊ณต์์ฉ ์์ ๋ฐ์ดํฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๋ถ์ ๋ฐ ์๊ฐํ ํ๊ธฐ ์ข์ ํํ๋ก ๊ตฌ์ฑ
- ์ ์ฃผ ๊ด๊ด ํน์ง์ ์กฐ์ฌํ๊ณ , ํฅํ ๊ณํ ์๋ฆฝ์ ๊ธฐ์ฌ
- Excel์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ DB๋ก ์ ์ฅํ๋ค.
- ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ๋ผ plot์ ์ถ๋ ฅํ๋ค
- ํ์ด์ฐจํธ, ํ์คํ ๊ทธ๋จ, ์ ํ plot๋ฑ ๋ค์ํ ํํ๋ก ์ ๊ณต
- ์๋ณ๋ก ์ํธ๋ก ๋ค๋ฅด๊ฒ ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ ์ฒด์ ์ธ ํ๋ฆ์ ๋ณด๊ธฐ ์ด๋ ค์ด ๊ตฌ์กฐ
- ์ฐ๋ณ, ์๋ณ ๋ฐ์ดํฐ๋ฅผ ํ์ ํ๊ธฐ ํ๋ค๋ค.
con = sqlite3.connect("testDB") # DB ์์ฑ
cur = con.cursor() # DB ์ฐ๊ฒฐ
cur.execute("create table jejutourist2(\ # ํ
์ด๋ธ, ์คํค๋ง ์์ฑ
...
)
wb = xlrd.open_workbook('C:/data/jejuall.xls') # ์์
์ด๊ธฐ
# ์์
-> DB insert
i=0
while i < wb.nsheets:
sh = wb.sheet_by_index(i)
print(sh.name, sh.nrows, sh.ncols)
cur.execute("insert into jejutourist2 values (?,?,?,?,?,?,\
?,?,?,?,?,\
?,?,?,?,?,\
?,?,?,?)",
(i+1,\
(((str(sh.cell(2,6))).split("'"))[1])[:4],\
(((str(sh.cell(0,0))).split())[1]).rstrip("์"),\
...
- ์ฐ๋ ์ ํ
- ์ฐ๊ฐ ๊ตญ๊ฐ๋ณ ๊ด๊ด๊ฐ ์ค ์ต๋๊ฐ ์ถ์ถ
if a=='2016':
for row in cur.execute("select year,max(sum(f_japan), sum(f_china), sum(f_hongkong), sum(f_taiwan), sum(f_singapore), sum(f_malasia), sum(f_usa)) as dum_of_d_group \
from jejutourist2\
where year=2016;"):
fig=plt.figure() # plot ์ด๊ธฐ ์์ฑ
a=fig.add_subplot(1,3,1) # subplot
cur.execute("select sum(f_japan), sum(f_china), sum(f_hongkong), sum(f_taiwan), sum(f_singapore), sum(f_malasia), sum(f_usa) as dum_of_d_group \
from jejutourist2\
where year=2016;")
rows = cur.fetchall() # ์์์ ์ถ๊ฐํ ๋ชจ๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
print(rows)
ratio = rows
labels = ['japan','china','hongkong','taiwan','singapore','malasia','usa']
plt.pie(ratio, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)
- 2016, 2017, 2018 ์ฐ๋๋ณ ๊ตญ๊ฐ๋ณ ํ์ด์ฐจํธ
- 2016~2018 ํ์ (๊ฐ์ธ, ๊ทธ๋ฃน, ๋ ์ ) ๋ณ ๊ด๊ด๊ฐ ํํฉ
- (์ข) ์๋ณ, ํ์ ๋ณ ๊ด๊ด๊ฐ ๋์ (์ฐ) ์๋ณ, ๊ตญ๊ฐ๋ณ ๊ด๊ด๊ฐ ๋์
- ์๋ณ ์ฃผ์ ๊ตญ๊ฐ ๊ด๊ด๊ฐ ์
-
์ค๊ตญ ๊ด๊ด๊ฐ์ด 2017.04 ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ธ๊ฐํ๋ค. ์ด๋ ๋น์ ์ฌ๋๋ฐฐ์น์ ์ํฅ์ผ๋ก ์ค๊ตญ์ธ ๊ด๊ด๊ฐ์ด ๊ฐ์ํ ๊ฒ์ผ๋ก ํด์ํ ์ ์๋ค.
-
๊ฐ์ธ ๊ด๊ด๊ฐ์ด ๊พธ์คํ ์ฆ๊ฐํ๊ณ ์๋ค. 1์ธ ํน์ 2์ธ ๋ฑ ์๊ท๋ชจ ๊ด๊ด๊ฐ์ด ์ฆ๊ธธ ์ ์๋ ์ฌํ ์ฝ์ค๋ ์๋น์ ์ ๊ทน์ ์ผ๋ก ํ๋ณดํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ผ๋ก ์์ ๋๋ค.
-
์คํ๋ ค ํ์ฌ๋ฆ ์ฑ์๊ธฐ๋ณด๋ค ๋ด ๊ฐ์, ์ฌ์ง์ด ๊ฒจ์ธ์ ๊ด๊ด๊ฐ์ด ๋ง๋ค. ๊ณ์ ๋ณ ๊ด๊ด ์ฝ์ค๋ฅผ ๊ตฌ์ฑํ์ฌ ๊ด๋๊ฐ์ ๋์ฆ๋ฅผ ์ถฉ์กฑ ์ํค๋ ๊ฒ์ด ์ข๋ค.
- ๋ฐ์ดํฐ์ ํํ์ ๋ฐ๋ผ ๋ฐ์ดํฐ์ ๊ฐ์น๊ฐ ๋ฌ๋ผ์ง๊ธฐ๋ ํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์ DB ํํ๋ก ์ ์ฅํ๊ณ , ์ด๋ฅผ ๋ถ์ํ๋ฉด ํฅํ ๊ด๊ด ์ฐ์ ์ ๊ธฐ์ฌํ ์ ์์ ๊ฒ์ด๋ค.
- xlrd ๋ก ์์ ํ์ผ์ ์ด๊ณ , ์ ์ ์ ๊ทผํ ์ ์๋ค.
- sqlite3 ๋ก sql๋ฌธ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.