Google Sheets เป็นเครื่องมือเก็บข้อมูลที่ทุกคนสามารถเข้าถึงได้ฟรี และมักเป็นที่เก็บข้อมูลทั้งส่วนตัว (เช่น รายรับรายจ่าย) และธุรกิจ (เช่น ข้อมูลการขาย ข้อมูลลูกค้า)
แม้ว่า Google Sheet จะวิเคราะห์ข้อมูลได้ แต่การวิเคราะห์จะมีประสิทธิภาพมากกว่า เมื่อเราใช้ programming language อย่าง Python เข้ามาช่วย
นอกจากความรวดเร็วในการประมวลผล และรองรับข้อมูลปริมาณมาก Python ยังสามารถวิเคราะห์แบบอัตโนมัติได้ด้วย เพียงแค่เราเขียน code รอเอาไว้
ในบทความนี้ เราจะมาดูวิธีการโหลดข้อมูลจาก Google Sheet เข้ามาวิเคราะห์ใน Python บน Google Colab กัน
บทความนี้แบ่งเป็น 3 ส่วน:
- Load spreadsheet
- Load worksheet
- Load data
สำหรับคนที่ต้องการทำตาม สามารถดูไฟล์ตัวอย่างได้ตาม link:
ถ้าพร้อมแล้ว ไปเริ่มกันเลย
1️⃣ Step 1. Load Spreadsheet
เริ่มแรก เราจะโหลด spreadsheet ที่ต้องการ ใน 2 ขั้นตอน:
- Authorise: ให้สิทธิ์การเข้าถึง Google Drive กับ Colab
- Open spreadsheet: เชื่อมต่อ Google Sheet ที่ต้องการ
.
✅ 1.1 Authorise
เราเปิดสิทธิ์การเข้าถึง Google Drive ให้กับ Colab ได้แบบนี้:
# Grant Colab access to Google services# Import packagefrom google.colab import auth# Enable access to Google servicesauth.authenticate_user()
เมื่อกด “Run”, Google จะพาเราไปที่หน้า Sign In ให้เรากด “Continue”:

จากนั้น ติ๊ก checkbox เพื่อให้สิทธิ์กับ Colab แล้วกด “Continue”

หลังเปิดสิทธิ์ ให้เราสร้าง client เพื่อเข้าถึง Google Drive:
# Connect to Google Drive# Import packagesimport gspreadfrom google.auth import default# Get credentials and Google Cloud project IDcreds, _ = default()# Create Google Sheet clientgc = gspread.authorize(creds)
Note:
default()จะคืนค่าให้ 2 อย่าง คือ credentials และ Google Cloud project ID- เราจะใช้เฉพาะ credentials
- ส่วน Google Cloud project ID เราจะปล่อยทิ้งไป โดยเก็บไว้ใน
_
.
📖 1.2 Open Spreadsheet
หลังจากสร้าง client แล้ว เราจะเชื่อมต่อกับ spreadsheet ซึ่งเราจะต้องเอา ID ของ spreadsheet มาจาก URL ตามตัวอย่างในรูป:

ให้เรา copy ID มาใช้แบบนี้:
# Load spreadsheet# Define spreadsheet IDspreadsheet_id = "12MglU8pFc_7XAylqANyqm8aLQNwvL98fXObjHEjrRvQ"# Open spreadsheetspreadsheet = gc.open_by_key(spreadsheet_id)# Print spreadsheet titleprint(spreadsheet.title)
ผลลัพธ์:
Diagon Alley Artefacts
ตอนนี้ เราก็โหลด spreadsheet สำเร็จแล้ว
ตัวอย่าง spreadsheet:

2️⃣ Step 2. Load Worksheet
หลังจากโหลด Google Sheet แล้ว เราจะเชื่อมต่อกับ worksheet ที่ต้องการ ใน 2 ขั้นตอน:
- List: ดูรายชื่อ worksheet ทั้งหมดใน Google Sheet
- Select: เลือก worksheet
.
📋 2.1 List
เราดูรายชื่อ worksheet ทั้งหมดได้แบบนี้:
# List worksheets# Get all worksheet namesworksheets = spreadsheet.worksheets()# Print themfor ws in worksheets: print(ws.title)
ผลลัพธ์:
transactionsSheet2Sheet3
.
🫳 2.2 Select
จากนั้น ให้เราโหลด worksheet ที่ต้องการ (เช่น transactions):
# Select worksheetworksheet = spreadsheet.worksheet("transactions")
ตอนนี้ เราก็เชื่อมต่อกับ worksheet สำเร็จแล้ว
3️⃣ Step 3. Load Data
สุดท้าย เราจะโหลดข้อมูลจาก worksheet ใน 3 ขั้นตอน:
- Read data: โหลดข้อมูลจาก worksheet
- Convert to DataFrame: เปลี่ยนข้อมูลให้เป็น DataFrame
- Analyse: วิเคราะห์ข้อมูลตามต้องการ
.
👓 3.1 Read Data
เราจะโหลดข้อมูลจาก worksheet แบบนี้:
# Get all data from worksheetdata = worksheet.get_all_values()# Print resultdata
โดยข้อมูลที่ได้จะเป็น list of lists (1 list = 1 row):

.
🐼 3.2 Convert to DataFrame
เพื่อช่วยให้เราวิเคราะห์ข้อมูลได้ง่าย เราจะเปลี่ยนข้อมูลให้เป็น DataFrame ด้วย pandas:
# Convert data to df# Import packageimport pandas as pd# Convertdf = pd.DataFrame( data=data[1:], columns=data[0])# Print resultdf
ผลลัพธ์:

.
📈 3.3 Analyse
จากนั้น เราสามารถวิเคราะห์ข้อมูลได้ตามต้องการ เช่น คำนวณยอดขายทั้งหมด:
# Find total sales per category# Convert column types to numericdf["quantity"] = pd.to_numeric(df["quantity"], errors="coerce")df["unit_price"] = pd.to_numeric(df["unit_price"], errors="coerce")# Calculate total sales per rowdf["revenue"] = df["quantity"] * df["unit_price"]# Calculate sum salestotal_sales = df["revenue"].sum()# Print resultprint(total_sales)
ผลลัพธ์:
11600.0
Note:
- ข้อมูลที่โหลดจะเป็น string ดังนั้น เราต้องเปลี่ยนตัวเลขให้กลายเป็น numeric หรือ float ก่อนเอาไปวิเคราะห์ต่อ
- ดูวิธีวิเคราะห์ข้อมูลด้วย pandas
💪 Summary
ในบทความนี้ เราดูวิธีโหลดข้อมูล Google Sheet เข้ามาใน Python บน Google Colab ใน 3 ขั้นตอน:
Step 1. Load spreadsheet:
| Code | For |
|---|---|
auth.authenticate_user() | เปิดสิทธิ์เข้าถึง Google Drive |
default() | รับ credentials |
gspread.authorize(creds) | สร้าง client |
gc.open_by_key(spreadsheet_id) | เชื่อมต่อ Google Sheet |
Step 2. Load worksheet:
| Code | For |
|---|---|
spreadsheet.worksheets() | ดูรายชื่อ worksheet ทั้งหมด |
spreadsheet.worksheet("worksheet_name") | เลือก worksheet |
Step 3. Load data:
| Code | For |
|---|---|
worksheet.get_all_values() | โหลดข้อมูลใน worksheet |
pd.DataFrame(data=data[1:], columns=data[0]) | แปลงข้อมูลให้เป็น DataFrame |

Leave a comment