跨平台解鎖 - Colab Python + SQLite in Google Drive

跨平台解鎖 - Colab Python + SQLite in Google Drive

更新於 發佈於 閱讀時間約 4 分鐘

你是否曾使用Python進行網上爬蟲、撈取資料、分析,並將結果存進雲端資料庫? 你知道這一切可以全部發生在Google Drive裡嗎?而且,全部都是免費的!

Colab 是什麼?

Colab (Colaboratory) 可讓我們在瀏覽器中編寫及執行 Python 程式碼,不必進行任何設定,且可以與他人共用你的程式碼。由於可以編寫及執行 Python 程式碼,我們可以透過在Colab環境裡執行機器學習、資料視覺化、資料處理、爬蟲等任務

SQLite 是什麼?

SQLite 是一個輕量級的開源關聯式資料庫管理系統,特別適合嵌入式應用和本地資料存儲。它的特點在於不需要伺服器、配置或管理,資料存儲於單一檔案中,這使得 SQLite 非常適合用於小型專案中。

  1. 無伺服器:SQLite 是一個「伺服器無須運行」的資料庫,這表示不需要安裝額外的伺服器軟體或配置。SQLite 整個資料庫可以嵌入到應用程式中,以一個檔案的形式運行。
  2. 跨平台兼容:SQLite 支援多種操作系統和語言並支援 C、C++、Python、Java 等主流語言,使得它在多種平台上應用非常廣泛。
  3. 小巧高效:SQLite 佔用資源非常少,因此非常適合資源有限的裝置。此外,SQLite 的查詢速度快,特別是針對小型或中型資料集,性能表現極佳。
  4. 支援標準 SQL:SQLite 支援 SQL-92 標準,並提供基本的 SQL 功能如 CREATEINSERTSELECTUPDATEDELETE 等,適合用來學習 SQL 和進行簡單資料操作。

網上有蠻多供下載的db檔案,下載後將其至於 Google Drive 中。若不知道怎麼抓晚點我整理在數遊原人的數位商品館中。



首先,將SQLite檔案 sample.db 存進Google Drive的資料夾裡,之後的資料都會存進此檔案裡。

raw-image


接著,在你的Google Drive的資料夾裡案右鍵,找到Google Colaboratory,可以開啟Colab環境,我們將此檔案命名為SQLite.ipynb


raw-image


  • Import 套件
import sqlite3
from google.colab import drive
import pandas as pd

這段程式碼導入了 sqlite3(用來處理 SQLite 資料庫)、drive(用來掛載 Google Drive)以及 pandas(用來處理資料表的資料分析套件)。

  • 掛載 Google Drive
drive.mount('/content/drive')

將 Google Drive 掛載到 Colab,讓 Colab 能夠讀取存放在使用者 Google Drive 中的檔案。

  • 連接資料庫
  1. 定義好連線和query,透過 sqlite3.connect() 方法連接到指定路徑中的 SQLite 資料庫檔案(Stock.db)。
  2. 這個資料庫檔案位於 Google Drive 的 /MyDrive/data/ 資料夾中。
  3. 建立一個範例資料表dignoape_sample

con = sqlite3.connect('/content/drive/MyDrive/data/sample.db')
cursor = con.cursor()
query = """
CREATE TABLE "dignoape_sample"
(
    [As_Of] date,
    [Subject]  varchar(255)
)
"""

cursor.execute(query)
con.commit()
cursor.close()


  • 試著插入一筆資料,今天日期和文章標題。
import time
from datetime import date
from datetime import timedelta

today = date.today()

con = sqlite3.connect('/content/drive/MyDrive/data/sample.db')
con.execute(" INSERT INTO dignoape_sample (As_Of, Subject) VALUES (?, ?) ",
(str(today),str('使用Colab Python + SQLite在Google Drive裡建立簡易的資料庫') ))
con.commit()
cursor.close()


  • 試著把剛剛插入的資料讀取出來。
import pandas as pd

con = sqlite3.connect('/content/drive/MyDrive/data/sample.db')

query = " select * from dignoape_sample"
df_data = pd.read_sql(query, con)
df_data.head(10)


raw-image



謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads/ FB,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!

avatar-img
DigNo Ape 數遊原人
49會員
119內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
留言
avatar-img
留言分享你的想法!
DigNo Ape 數遊原人 的其他內容
根據 h1bdata info 整理的資料顯示,雇主於2024 提交H1B簽證所包含的薪資訊息,以關鍵字Data Analyst 的1700多條紀錄為例: - 薪資中位數是$85000. - 約有2%介於$150K到$200K - 21% 介於$100K到$150K - 以中位數來看近三年數
使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。
根據 h1bdata info 整理的資料顯示,雇主於2024 提交H1B簽證所包含的薪資訊息,以關鍵字Data Analyst 的1700多條紀錄為例: - 薪資中位數是$85000. - 約有2%介於$150K到$200K - 21% 介於$100K到$150K - 以中位數來看近三年數
使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。