🔥알림🔥
① 테디노트 유튜브 -
구경하러 가기!
② LangChain 한국어 튜토리얼
바로가기 👀
③ 랭체인 노트 무료 전자책(wikidocs)
바로가기 🙌
④ RAG 비법노트 LangChain 강의오픈
바로가기 🙌
⑤ 서울대 PyTorch 딥러닝 강의
바로가기 🙌
에어테이블(airtable)의 table 조회, 추가, 업데이트, 삭제 Python API
본 내용은 Airtable 에서 table에 대해서 데이터를 조회, 추가, 삭제 및 정렬 하는 방법에 대해서 다룹니다. 본 튜토리얼은 airtable의 공식 pyairtable
파이썬 패키지를 활용합니다.
Airtable 이란?
Airtable 메인 화면
Airtable 은 구글 스프레드시트(엑셀) 혹은 테이블 형식으로 데이터를 관리할 수 있는 인터페이스를 제공하며, 사용자가 웹에서 직접 수정 및 업데이트가 가능합니다. Third-party 앱과의 연동성이 좋기 때문에 노코드 자동화에 자주 등장하는 툴이기도 합니다.
주요 특징
- 쉽고 직관적인 사용성
- 편리한 데이터베이스 관리
- Third-party 앱과의 호환성
데이터베이스(테이블) 생성
회원가입 후 “Add a base”를 클릭하여 쉽게 BASE
를 생성할 수 있습니다. Airtable에서 Base의 개념은 하나의 프로젝트 단위의 테이블 묶음 정도로 생각하면 됩니다.
즉, Base > Table
의 관계이며 보통 1개의 Base 아래에 여러 Table을 갖게 되는 구조입니다.
데이터베이스 생성
Base
를 생성했다면, 여러 테이블을 생성할 수 있습니다. 기본으로 테이블 1개가 생성이 되어 있고, Table
탭의 우측 드롭다운 메뉴에서 “Import data” 를 클릭하여 기존 파일 데이터로부터 데이터를 가져올 수 있습니다.
데이터 임포트(import)
데이터를 편집하는 방법은 매우 직관적이며 단순합니다. 각 컬럼의 우측 드롭다운 메뉴에서 필드의 타입을 설정할 수 있습니다. 우측 ”+” 를 눌러 새로운 컬럼을 추가할 수 있습니다.
데이터 편집
뿐만 아니라, 상단의 “Automations” 를 클릭하여 데이터베이스와 연결할 자동화 작업을 설정할 수 있습니다. 예를 들면, “이메일 발송”, “슬랙 메시지 전달”, “구글 독스 생성” 등과 같은 작업을 수행할 수 있습니다.
자동화 기능 설정
PyAirtable 설치
Airtable은 API로 Airtable의 Base
나 Table
에 정보를 조회하거나 추가, 수정, 삭제할 수 있도록 지원하고 있습니다. 파이썬(Python) API로 호출하기 위해서는 PyAirtable
을 설치해야 합니다.
PyAirtable 설치
pip install pyairtable
PyAirtable의 공식 도큐먼트 주소는 https://pyairtable.readthedocs.io/en/latest/getting-started.html 이며 API 명세와 다양한 예제가 잘 나와 있습니다.
API 토큰 발행
파이썬 패키지 설치가 끝났다면, API 사용을 위한 토큰을 발행합니다. 토큰 발행은 다음의 주소에서 발행할 수 있습니다.
우측 상단 “Create new token” 클릭
앱 이름, 권한, 베이스 설정
Create token 완료
access token 키를 잘 복사하여 보관합니다
base_id, table_name, view_id
먼저, 다루고자 하는 Base의 Table 주소URL를 확인하고 이를 토대로 다음 3가지 (base_id
, table_name
, view_id
) 를 설정합니다.
주소는 브라우저의 URL에서 확인할 수 있습니다.
주소를 먼저 가져옵니다
URL에서 다음 3가지 정보를 확인합니다.
base_id, table_name, view_id
API 활용 예제
pyairtable import 및 token, base_id, table_name 지정
from pyairtable import Table, Base
# https://airtable.com/create/tokens 에서 발급받은 토큰
airtable_token = '발급받은토큰'
# base_id
BASE_ID = '당신의 base_id'
# table_name
TABLE_NAME = '당신의 table_name'
테이블 전체 행 조회 (정렬 X)
table = Table(airtable_token, BASE_ID, TABLE_NAME)
table.all()
테이블 전체 조회시 정렬 적용
table = Table(airtable_token, BASE_ID, TABLE_NAME)
# sort=['컬럼'] 으로 컬럼 기준으로 정렬
table.all(sort=['id'])
마지막 행을 조회 후 행 출력
table = Table(airtable_token, BASE_ID, TABLE_NAME)
# sort=['컬럼'] 으로 정렬 후 마지막 행
last = table.all(sort=['id'])[-1]
# 행 출력
last['fields']
테이블에 하나의 행 추가
# table에 행 추가
table.create({
'name': '홍길동',
'age': 15,
'height': 157}
)
테이블에 여러 행 추가
# table에 여러 행 추가
table.create([
{'name': '홍길동',
'age': 15,
'height': 157},
{'name': '김철수',
'age': 17,
'height': 161}
])
행 삭제
# record_id 는 행 조회시 확인 할 수 있으며 'id' 키로 존재
table.delete('레코드 id')
[참고]
그 밖에 다양한 예제와 API 활용방법은 공식 도큐먼트 에서 확인할 수 있습니다.
댓글남기기