2024-08-07|閱讀時間 ‧ 約 5 分鐘

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

    你是否曾使用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的資料夾裡,之後的資料都會存進此檔案裡。


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



    • 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)




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

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.