ใช้ Python สร้างไฟล์ Excel พร้อมสร้างกราฟราคาหุ้น

Investic
investic
Published in
2 min readJun 6, 2022

เกือบทุกคนต้องเคยผ่านการใช้งาน Excel กันมาบ้างไม่มากก็น้อย ซึ่งเราสามารถใช้ Excel กับ Python ได้ ตัวอย่างนี้จะแสดงให้เห็นว่าเราสามารถใช้ Python เพื่อสร้างไฟล์ Excel พร้อมใส่ข้อมูลลงไปได้เลย ทั้งข้อมูลในรูปแบบของตารางรวมถึงการใช้ข้อมูลนั้นมาสร้างเป็นกราฟเพื่อแสดงผลได้ด้วย

ในบทความนี้จะมี Library ที่ต้องทำการติดตั้งคือ xlwings เพื่อให้สามารถสร้างไฟล์ Excel และใส่ข้อมูลลงในไฟล์ได้ รวมถึง yfinance เพื่อดึงข้อมูลมาใช้

แต่! เราจะไม่สามารถใช้บน Colab ได้นะ จะใช้ได้เฉพาะ jupyter หรือ IDLE ทั่วไปเช่น vscode เท่านั้น

!pip install xlwings
!pip install yfinance

หลังจากนั้นก็ทำการ import library มาใช้

import yfinance as yf
import xlwings as xw
import pandas as pd
import datetime as dt

ดึงข้อมูลผ่าน API เป็นข้อมูลของ Yahoo Finance

data = yf.download('TSLA',start='2021-01-01', end='2022-01-01')

ส่วนต่อมาจะเป็นการสร้าง workbook

เริ่มจากการ Create workbook ก่อน แล้วก็เลือกสร้าง Sheet ที่ต้องการเอาข้อมูลที่เราดึงมาก่อนหน้านี้เอาเข้าไปใส่ เสร็จแล้วก็มาเลือกว่าเราต้องการให้ข้อมูลเข้าไปอยู่ใน Column ไหนของ Sheet นั้น ซึ่งในตัวอย่างนี้เราจะให้ใส่ที่ A1

wb = xw.Book()
sheet = wb.sheet['Sheet1']
sheet.range('A1').value = data

แล้วเราก็ Save ข้อมูลลงในไฟล์

wb.save('data.xlsx')
wb.close()

หลังจากเสร็จแล้วเราก็ไปเปิดไฟล์ใน Folder ที่เราสร้างขึ้นก็จะเห็นว่ามีข้อมูลถูก save เข้าไปเรียบร้อย

ต่อมาคือการสร้างกราฟโดยใช้ Python แล้วให้ไปแสดงผลใน Excel

จะมี Lib อีกอันที่ต้องใช้ คือ matplotlib (สำหรับคนที่ยังไม่เคยใช้ Matplotlib เป็น Library ที่ใช้ทำ Visualization สร้างกราฟต่างๆ ทั้ง line chart, bar chart pie chart)

import matplotlib.pyplot as plt 

และใช้ Path เพื่อกำหนดเส้นทางว่าจะให้เปิดไฟล์และเอากราฟใส่ไฟล์ไหน Sheet ไหน

from pathlib import Path
filename = Path("data.xlsx")
wb = xw.Book(filename)
sheet = wb.sheets["Sheet1"]

สุดท้ายคือการสร้างกราฟ กำหนดขนาด และต้องการให้กราฟไปอยู่ตรงไหนในไฟล์ Excel นั้นๆ และ save รูปลงไปในไฟล์ที่ต้องการ

fig = data['Adj Close'].plot(figsize=(12,8))
fig = fig.get_figure()
sheet.pictures.add(fig, name='StockPrice', update=True, left=sheet.range('I5').left, top=sheet.range('I5').top)
wb.save('data.xlsx')

หลังจากนั้นเราไปเปิดไฟล์มาก็จะเห็นรูปกราฟขึ้นมาอยู่ตรง Colums I5 ที่เราเอารูปไปใส่ไว้ตามที่เราเขียนคำสั่งลงใน Python

นี่เป็นเพียงแค่ 1 ตัวอย่างในการใช้งาน Python ร่วมกับ Excel ซึ่งหากเราเรียนรู้และศึกษาไปเรื่อยๆจะเริ่มเห็นประโยชน์ของการทำงานบน Python เยอะขึ้น รวมถึงยังสามารถเข้าไปใช้รวมกับ Platform อื่นๆได้อีกด้วย

สร้างกลยุทธ์เทรดหุ้นด้วย Python ง่ายๆได้แล้ววันนี้ สนใจรายละเอียดคลิ๊กดูรายละเอียดเพิ่มเติมได้ที่
https://bottomliner.co/investic-course-bundle/

Investic

--

--