So erstellen Sie eine leichte Datenpipeline mit Airtable und PythonSo erstellen Sie eine leichte Datenpipeline mit Airtable und Python
Bild von Editor | Chatgpt

# Einführung

Lufttable Es bietet nicht nur eine versatile, breitblattähnliche Schnittstelle für die Datenspeicherung und -analyse, sondern bietet auch eine API für die programmatische Interaktion. Mit anderen Worten, Sie können es mit externen Werkzeugen und Technologien verbinden – zum Beispiel, Python – Um Datenpipelines zu erstellen oder Workflows zu verarbeiten, wodurch Ihre Ergebnisse in Ihre Airtable -Datenbank (oder einfach „Foundation“ in Airtable Jargon zurückgeführt werden.

Dieser Artikel zeigt, wie eine einfache ETL-ähnliche Pipeline mit der Airtable Python API erstellt wird. Wir halten uns an die kostenlose Stufe und stellen sicher, dass der Ansatz ohne bezahlte Funktionen funktioniert.

# Airtable Dataset Setup

Während die in diesem Artikel eingebaute Pipeline problemlos an eine Vielzahl von Datensätzen angepasst werden kann, für diejenigen, die neu zu Airtable sind und ein Airtable -Projekt und einen gespeicherten Datensatz als Ausgangspunkt benötigen, empfehlen wir Ihnen, dies zu folgen Jüngste Einführungs -Tutorial für Airtable und erstellen Sie einen tabellarischen Datensatz namens „Kunden“ mit 200 Zeilen und folgenden Spalten (siehe Bild):

Kunden Datensatz/Tabelle in AirtableKunden Datensatz/Tabelle in Airtable
Kunden Datensatz/Tabelle in Airtable | Bild des Autors

# Airtable-Python-Datenpipeline

Gehen Sie in Airtable zu Ihrem Benutzer Avatar-zum Zeitpunkt des Schreibens ist es der eingekreiste Avatar an der unteren linken Ecke der App-Schnittstelle-und wählen Sie „Builder Hub“. Klicken Sie im neuen Bildschirm (siehe Screenshot unten) auf „Private Entry Tokens“ und dann unter „Token erstellen“. Geben Sie ihm einen Namen und stellen Sie sicher, dass Sie mindestens diese beiden Bereiche hinzufügen: knowledge.information:learn Und knowledge.information:write. Wählen Sie ebenfalls die Foundation aus, in der sich die Tabelle Ihrer Kunden im Abschnitt „Zugriff“ befindet, damit Ihr Token den Zugriff auf diese Foundation konfiguriert hat.

Erstellen von Airtable -API -TokenErstellen von Airtable -API -Token
Erstellen eines Airtable -API -Tokens | Bild des Autors

Sobald das Token erstellt wurde, kopieren und speichern Sie es sorgfältig an einem sicheren Ort, da es nur einmal angezeigt wird. Wir brauchen es später. Der Token beginnt mit pat gefolgt von einem langen alphanumerischen Code.

Ein weiterer wichtiger Informationen, das wir benötigen, um unsere Python-basierte Pipeline zu erstellen, die mit Airtable interagiert, ist die ID unserer Foundation. Gehen Sie zurück zu Ihrer Foundation in der Airtable -Webschnittstelle, und sobald Sie dort sehen, dass die URL im Browser eine Syntax hat: https://airtable.com/app(xxxxxx)/xxxx/xxxx. Der Teil, an dem wir kopieren möchten, ist die app(xxxx) ID enthalten zwischen zwei aufeinanderfolgenden Schrägstrichen (/): Das ist die Foundation -ID, die wir brauchen werden.

In der Hand und unter der Annahme, dass Sie bereits eine besiedelte Tabelle namens „Kunden“ in Ihrer Foundation haben, sind wir bereit, unser Python -Programm zu starten. Ich werde ein Notizbuch zum Codieren verwenden. Wenn Sie eine IDE verwenden, müssen Sie möglicherweise den Teil, in dem die drei Lufttable -Umgebungsvariablen definiert sind, geringfügig ändern, damit sie von einem lesen können .env Datei stattdessen. In dieser Model werden wir sie zur Einfachheit und Leichtigkeit der Illustration direkt in unserem Pocket book definieren. Beginnen wir mit der Set up der erforderlichen Abhängigkeiten:

!pip set up pyairtable python-dotenv

Als nächstes definieren wir die Lufttable -Umgebungsvariablen. Beachten Sie, dass Sie für die ersten beiden den Wert durch Ihren tatsächlichen Zugriffs -Token bzw. der Foundation -ID ersetzen müssen:

import os
from dotenv import load_dotenv # Mandatory provided that studying variables from a .env file
from pyairtable import Api, Desk
import pandas as pd

PAT = "pat-xxx" # Your PAT (Private Entry Token) is pasted right here
BASE_ID = "app-xxx" # Your Airtable Base ID is pasted right here
TABLE_NAME = "Clients"

api = Api(PAT)
desk = Desk(PAT, BASE_ID, TABLE_NAME)

Wir haben gerade eine Instanz der Python Airtable -API eingerichtet und einen Verbindungspunkt zur Kundentabelle in unserer Foundation instanziiert. So lesen wir den gesamten Datensatz, der in unserer Lufttabelle enthalten ist, und laden sie in a Pandas DataFrame. Sie müssen nur darauf achten, die genauen Spaltennamen aus der Quellentabelle für die String -Argumente innerhalb der Spalten zu verwenden get() Methodenaufrufe:

rows = ()
for rec in desk.all():  # honors 5 rps; auto-retries on 429s
    fields = rec.get("fields", {})
    rows.append({
        "id": rec("id"),
        "CustomerID": fields.get("CustomerID"),
        "Gender": fields.get("Gender"),
        "Age": fields.get("Age"),
        "Annual Earnings (okay$)": fields.get("Annual Earnings (okay$)"),
        "Spending Rating (1-100)": fields.get("Spending Rating (1-100)"),
        "Earnings class": fields.get("Earnings Class"),
    })

df = pd.DataFrame(rows)

Sobald die Daten geladen wurden, ist es Zeit, eine einfache Transformation anzuwenden. Der Einfachheit halber werden wir nur eine Transformation anwenden, aber wir könnten so viele wie nötig anwenden, wie wir es normalerweise tun würden, wenn wir Datensätze mit Pandas vorverarbeiten oder reinigen. Wir werden ein neues binäres Attribut erstellen, das genannt wird Is Excessive Worthum hochwertige Kunden zu bezeichnen, dh diejenigen, deren Einkommen und Ausgabenbewertungen beide hoch sind:

def high_value(row):
    strive:
        return (row("Spending Rating (1-100)") >= 70) and (row("Annual Earnings (okay$)") >= 70)
    besides TypeError:
        return False

df("Is Excessive Worth") = df.apply(high_value, axis=1)
df.head()

Resultierender Datensatz:

Lufttable -Datenumwandlung mit Python und PandasLufttable -Datenumwandlung mit Python und Pandas
Airtable Knowledge Transformation mit Python und Pandas | Bild des Autors

Schließlich ist es an der Zeit, die Änderungen wieder auf Airtable zu schreiben, indem die mit der neuen Spalte verknüpften neuen Daten einbezogen werden. Es gibt eine kleine Einschränkung: Wir müssen zunächst manuell eine neue Spalte mit dem Namen „Excessive Worth“ in unserer Tabelle für Airtable -Kunden erstellen, wobei der Typ auf „Kontrollkästchen“ eingestellt ist (das Äquivalent zu binären kategorialen Attributen). Wenn diese leere Spalte erstellt wurde, führen Sie den folgenden Code in Ihrem Python -Programm aus, und die neuen Daten werden automatisch zu Airtable hinzugefügt!

updates = ()
for _, r in df.iterrows():
    if pd.isna(r("id")):
        proceed
    updates.append({
        "id": r("id"),
        "fields": {
            "Excessive Worth": bool(r("Is Excessive Worth"))
        }
    })

if updates:
    desk.batch_update(updates)

Zeit, wieder zu Airtable zu gehen und zu sehen, was sich in unserer Quellkunden -Tabelle geändert hat! Wenn Sie auf den ersten Blick keine Änderungen sehen und die neue Spalte immer noch leer erscheint, in Panik geraten Sie noch nicht. Nicht viele Kunden werden als „hoher Wert“ bezeichnet, und Sie müssen möglicherweise ein wenig nach unten scrollen, um einige mit einem grünen Zeckenschild zu sehen:

Kunden Tabelle aktualisiertKunden Tabelle aktualisiert
Aktualisierte Kundentabelle | Bild des Autors

Das struggle’s! Sie haben gerade Ihre eigene leichte ETL-ähnliche Datenpipeline auf der Grundlage einer bidirektionalen Wechselwirkung zwischen Airtable und Python erstellt. Intestine gemacht!

# Einpacken

Dieser Artikel konzentrierte sich auf die Präsentation von Datenfunktionen mit Airtable, einer vielseitigen und benutzerfreundlichen Cloud-basierten Plattform für Datenverwaltung und -analyse, die Funktionen von Tabellenkalkulationen und relationalen Datenbanken mit KI-betriebenen Funktionen kombiniert. Insbesondere haben wir gezeigt, wie man eine leichte Datentransformationspipeline mit der Airtable Python -API ausführt, die Daten von Airtable liest, sie umwandelt und sie wieder in Airtable lädt – alles innerhalb der Funktionen und Einschränkungen der freien Model von Airtable.

Iván Palomares Carrascosa ist ein Führer, Schriftsteller, Sprecher und Berater in KI, maschinellem Lernen, Deep Studying & LLMs. Er trainiert und führt andere darin, KI in der realen Welt zu nutzen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert