Notion 데이터베이스 텍스트 일괄 변환 방법
노션 데이터베이스의 여러 항목에 걸쳐 텍스트를 일괄 수정·변환하는 방법과 노션 API를 활용한 자동화 방법을 설명합니다.
Q.노션 데이터베이스에서 여러 항목의 텍스트를 한 번에 바꾸려면 어떻게 하나요?
노션은 내장 일괄 편집 기능이 제한적입니다. 세 가지 방법이 있습니다: (1) CSV로 내보내기 → 편집 → 재가져오기, (2) 노션 API와 Python 스크립트로 자동화, (3) Zapier·Make 같은 노코드 도구 활용. 텍스트 속성(Title, Text 타입)은 API로 가장 유연하게 처리할 수 있습니다.
노션 데이터베이스에 200개 항목이 있는데 특정 단어를 일괄 교체해야 한다면, 노션 UI만으로는 한 번에 처리할 방법이 없다. 노션은 내장 찾기·바꾸기 기능이 데이터베이스 속성(Properties)에는 적용되지 않는다.
방법 1: CSV 내보내기 → 편집 → 재가져오기
가장 직관적인 방법으로, 코딩 없이 처리할 수 있다.
단계:
- 데이터베이스 우측 상단
···→ 내보내기 → CSV - Excel 또는 Google Sheets로 열기
- Ctrl+H(찾기·바꾸기)로 원하는 텍스트 일괄 교체
- CSV로 저장 → 노션에 재가져오기 (데이터베이스 → 가져오기)
주의사항:
- 재가져오기 시 기존 항목이 덮어씌워지지 않고 새 항목으로 추가됨
- 기존 항목은 수동으로 삭제 필요
- 노션 고유 필드(체크박스, 날짜, 관계형 속성)는 CSV에서 일부 손실됨
방법 2: 노션 API + Python 자동화
Notion API를 사용하면 데이터베이스 속성을 프로그래밍으로 읽고 수정할 수 있다.
python
import requests
NOTION_TOKEN = "secret_xxx"
DATABASE_ID = "xxx"
headers = {
"Authorization": f"Bearer {NOTION_TOKEN}",
"Notion-Version": "2022-06-28",
"Content-Type": "application/json"
}
# 데이터베이스 항목 조회
response = requests.post(
f"https://api.notion.com/v1/databases/{DATABASE_ID}/query",
headers=headers
)
pages = response.json()["results"]
# 각 항목의 텍스트 수정
for page in pages:
page_id = page["id"]
old_text = page["properties"]["Name"]["title"][0]["text"]["content"]
new_text = old_text.replace("구버전", "신버전")
requests.patch(
f"https://api.notion.com/v1/pages/{page_id}",
headers=headers,
json={"properties": {"Name": {"title": [{"text": {"content": new_text}}]}}}
)
방법 3: 노코드 자동화 (Zapier·Make)
Zapier 또는 Make(구 Integromat)의 노션 연동을 사용하면:
- 특정 조건의 항목을 자동으로 필터링
- 텍스트 변환 후 업데이트
- 정기 실행 가능 (예: 매주 특정 필드 일괄 정리)
내장 기능 최대 활용
노션의 필터·정렬 기능으로 수정 대상을 좁힌 후 수동 편집하는 것이 가장 안전하다.
- 필터: 수정이 필요한 텍스트를 포함한 항목만 표시
- 그룹화: 카테고리별 묶어서 순서대로 수정
- 전체 선택: 체크박스 필드를 기준으로 대상 표시
정리 체크리스트
- [ ] 작업 전 데이터베이스 전체를 CSV로 백업했는가?
- [ ] API 사용 시 Rate Limit(분당 3요청/초) 준수했는가?
- [ ] 관계형·롤업 속성이 변환 후에도 유지되는가?
---
이 글은 AI가 공개 자료를 기반으로 작성했습니다. 노션 API는 버전에 따라 동작이 달라질 수 있습니다.