2024-08-29|閱讀時間 ‧ 約 6 分鐘

跨平台解鎖 - Notion & Python (1)

Notion 是一款強大的生產力工具,幫助我們紀錄、組織和管理訊息,並把這些訊息存取至資料庫(Notion 解鎖 - Threads 串文資料庫)。

當我們需要對這些數據進行進一步的分析時,有沒有什麼程式工具是我們可以使用,進一步釋放Notion的潛力呢?

在本篇文章中,我將介紹我如何在Notion 建立我的投資組合資料庫,並透過Python 從 Notion 資料庫中撈取資料(如股票代碼等信息),並存入Pandas的Data Frame,供我們做後續的資料處理和分析。


前端介面

選擇 Notion 作為投資組合或數據管理的前端介面有以下幾個明顯的優勢:

  1. 界面設計
    • Notion 的界面設計簡單明瞭,可以方便地記錄和展示各類資訊。透過Publish(發布)在網頁,讓使用者可以在網頁上瀏覽筆記和資料(也支援各項裝置的瀏覽)。
  2. 資料管理
    • Notion 支援資料庫、表格和頁面內嵌等功能,我們可以靈活地分類和管理不同類型的數據。我個人最愛的其中一個功能就是multi-select(多選),這讓歸類和做研究時非常方便。
  3. 協作共享
    • Notion 不僅適合作為個人使用的資料管理工具,還適合團隊協作。你可以輕鬆地與同事分享資料庫或特定頁面,並且允許多個人員同時編輯和更新數據,大大提高了協作效率。
  4. API 支援
    • Notion 提供了強大的 API 服務,使得你可以通過程式碼的方式與資料庫進行互動。我們可以輕鬆地從 Notion 中提取數據,結合 Python 等工具進行進一步的分析和應用,實現更高層次的自動化。
獲取資料

步驟 1:建立 Notion 資料庫

首先,在 Notion 中建立一個資料庫,這個資料庫將存放你需要分析的數據。比如,你可以創建一個名為 “Portfolio DB” 的資料庫,其中包含股票代碼、公司名稱、標籤、股價等欄位。

步驟 2:註冊 Notion API 並獲取集成密鑰

接下來,前往 Notion 的 API 註冊頁面,建立一個新的 API 集成(Integrations)並獲取 API 集成密鑰(Internal Integration Secret) 。這個集成密碼是Python 中與 Notion 進行互動的關鍵,將這個集成密鑰保存好,稍後我們會用到它。


步驟 3:將API 集成添加到目標頁面的連接設定中

在 Notion 中,找到你需要訪問的目標頁面,並將剛剛建立的API 集成添加到該頁面的連接設定中。這樣,Python 就可以通過 API 訪問你的 Notion 資料庫。

連接設定



步驟 4:獲取資料庫 ID/ URL

每個 Notion資料庫都有一個唯一的URL和ID。通過資料庫 URL 來獲取這個 ID ,就是下圖粗體顯示(xxxx...xxx)的那部分字符串,URL或ID會被用來指定要訪問的資料庫。

資料庫ID


步驟 5:使用 Python 的 notion_df 撈取資料

現在,我們可以開始使用 Python 來撈取 Notion 資料庫中的資料了。這裡我們將使用一個名為 notion_df 的套件來完成這個任務。

首先,導入必要的函式庫:

import notion_df
import pandas as pd

接著,使用 notion_df 從 Notion 中撈取資料:

notion_df.pandas()
page_url = "Notion資料庫URL"
api_key = "API集成密鑰"

df = pd.read_notion(page_url, api_key=api_key)
df

以下就是我們將 Notion資料庫中的資料轉換為 pandas 資料表,方便我們進一步的數據分析與處理。



希望這篇文章可以幫助您使Python訪問Notion的資料庫,並轉換成資料表。下一篇,我們會展示更複雜的運用方式,包含使用requests訪問資料庫,並從中獲取股票代碼,再使用其撈取股價,並將股價更新回Notion裡。

謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!

我們會持續推出更多以實用情境為主的教學,讓你知道為什麼要學這些技巧,這些技巧能在職場和工作幫上您什麼忙。也歡迎Follow我的Threads,持續都會有這類商業分析問題討論和生產力提升的點子喔!

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