더미 데이터셋 생성
사용자 정의 컬럼, 제약 조건, 출력 형식(CSV, JSON, SQL, Python script)으로 테스트용 현실적인 더미 데이터셋을 생성합니다. 즉시 사용 가능한 실행 가능 스크립트 또는 직접적인 데이터 파일을 생성합니다.
사용 시기: 테스트 데이터 생성, 샘플 데이터셋 생성, 개발용 현실적인 목 데이터 구성, 또는 테스트 환경 채우기 시.
Arguments:
$PRODUCT: 제품 또는 시스템 이름
$DATASET_TYPE: 데이터 유형 (예: 고객 피드백, 거래 내역, 사용자 프로필)
$ROWS: 생성할 행 수 (기본값: 100)
$COLUMNS: 포함할 특정 컬럼 또는 필드
$FORMAT: 출력 형식 (CSV, JSON, SQL, Python script)
$CONSTRAINTS: 추가 제약 조건 또는 비즈니스 규칙
단계별 프로세스
- 데이터셋 유형 파악 - 데이터 도메인 이해
- 컬럼 명세 정의 - 이름, 데이터 타입, 값 범위
- 행 수 결정 - 필요한 샘플 레코드 수
- 출력 형식 선택 - CSV, JSON, SQL INSERT, 또는 Python script
- 현실적인 패턴 적용 - 데이터가 실제처럼 유효하게 보이도록
- 비즈니스 제약 조건 적용 - 비즈니스 로직 및 관계 준수
- 데이터 생성 또는 스크립팅 - 실행 가능한 출력 생성
- 출력 검증 - 데이터 품질 및 완전성 확인
템플릿: Python Script 출력
import csv
import json
from datetime import datetime, timedelta
import random
# Configuration
ROWS = $ROWS
FILENAME = "$DATASET_TYPE.csv"
# Column definitions with realistic value generators
columns = {
"id": "auto-increment",
"name": "first_last_name",
"email": "email",
"created_at": "timestamp",
# Add more columns...
}
def generate_dataset():
"""Generate realistic dummy dataset"""
data = []
for i in range(1, ROWS + 1):
record = {
"id": f"U{i:06d}",
# Generate values based on column definitions
}
data.append(record)
return data
def save_as_csv(data, filename):
"""Save dataset as CSV"""
with open(filename, 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
if __name__ == "__main__":
dataset = generate_dataset()
save_as_csv(dataset, FILENAME)
print(f"Generated {len(dataset)} records in {FILENAME}")
데이터셋 명세 예시
데이터셋 유형: 고객 피드백
컬럼:
- feedback_id (자동 증가, U001, U002...)
- customer_name (현실적인 이름)
- email (유효한 이메일 형식)
- feedback_date (최근 90일 내 날짜)
- rating (별 1~5개)
- category (Bug, Feature Request, Complaint, Praise)
- text (현실적인 피드백 내용)
- product (전자기기, 의류, 홈)
제약 조건:
- 평점 분포: 5점 40%, 4점 30%, 3점 20%, 1~2점 10%
- Bug 카테고리는 평점 1~3만 허용
- Feature Request는 평점 3~5만 허용
- 이메일 도메인은 현실적으로 (gmail, yahoo, company.com)
산출물
- 즉시 실행 가능한 Python script 또는 직접 데이터 파일
- 적절한 헤더와 형식의 CSV 파일
- 유효한 구조와 타입의 JSON 파일
- 데이터베이스 입력용 SQL INSERT 문
- 데이터 검증 및 제약 조건 준수
- 현실적이고 비즈니스에 적합한 값
- 데이터 생성 로직 문서화
- 데이터셋 사용을 위한 빠른 시작 가이드
출력 형식
CSV: 평면 테이블 형식, 스프레드시트와 데이터베이스로 쉽게 가져오기 가능
JSON: 중첩 구조, API 및 NoSQL 데이터베이스에 적합
SQL: INSERT 문, 관계형 데이터베이스에서 직접 실행 가능
Python Script: 사용자 정의 또는 대용량 데이터셋을 위한 실행 가능 생성기
1---2name: dummy-dataset3description: 사용자 정의 컬럼, 제약 조건, 출력 형식(CSV, JSON, SQL, Python script)으로 테스트용 현실적인 더미 데이터셋을 생성합니다. 테스트 데이터 생성, 목(mock) 데이터셋 구성, 개발 및 데모용 샘플 데이터 생성 시 사용하세요.4---5# 더미 데이터셋 생성67사용자 정의 컬럼, 제약 조건, 출력 형식(CSV, JSON, SQL, Python script)으로 테스트용 현실적인 더미 데이터셋을 생성합니다. 즉시 사용 가능한 실행 가능 스크립트 또는 직접적인 데이터 파일을 생성합니다.89**사용 시기:** 테스트 데이터 생성, 샘플 데이터셋 생성, 개발용 현실적인 목 데이터 구성, 또는 테스트 환경 채우기 시.1011**Arguments:**12- `$PRODUCT`: 제품 또는 시스템 이름13- `$DATASET_TYPE`: 데이터 유형 (예: 고객 피드백, 거래 내역, 사용자 프로필)14- `$ROWS`: 생성할 행 수 (기본값: 100)15- `$COLUMNS`: 포함할 특정 컬럼 또는 필드16- `$FORMAT`: 출력 형식 (CSV, JSON, SQL, Python script)17- `$CONSTRAINTS`: 추가 제약 조건 또는 비즈니스 규칙1819## 단계별 프로세스20211. **데이터셋 유형 파악** - 데이터 도메인 이해222. **컬럼 명세 정의** - 이름, 데이터 타입, 값 범위233. **행 수 결정** - 필요한 샘플 레코드 수244. **출력 형식 선택** - CSV, JSON, SQL INSERT, 또는 Python script255. **현실적인 패턴 적용** - 데이터가 실제처럼 유효하게 보이도록266. **비즈니스 제약 조건 적용** - 비즈니스 로직 및 관계 준수277. **데이터 생성 또는 스크립팅** - 실행 가능한 출력 생성288. **출력 검증** - 데이터 품질 및 완전성 확인2930## 템플릿: Python Script 출력3132```python33import csv34import json35from datetime import datetime, timedelta36import random3738# Configuration39ROWS = $ROWS40FILENAME = "$DATASET_TYPE.csv"4142# Column definitions with realistic value generators43columns = {44 "id": "auto-increment",45 "name": "first_last_name",46 "email": "email",47 "created_at": "timestamp",48 # Add more columns...49}5051def generate_dataset():52 """Generate realistic dummy dataset"""53 data = []54 for i in range(1, ROWS + 1):55 record = {56 "id": f"U{i:06d}",57 # Generate values based on column definitions58 }59 data.append(record)60 return data6162def save_as_csv(data, filename):63 """Save dataset as CSV"""64 with open(filename, 'w', newline='') as f:65 writer = csv.DictWriter(f, fieldnames=data[0].keys())66 writer.writeheader()67 writer.writerows(data)6869if __name__ == "__main__":70 dataset = generate_dataset()71 save_as_csv(dataset, FILENAME)72 print(f"Generated {len(dataset)} records in {FILENAME}")73```7475## 데이터셋 명세 예시7677**데이터셋 유형:** 고객 피드백7879**컬럼:**80- feedback_id (자동 증가, U001, U002...)81- customer_name (현실적인 이름)82- email (유효한 이메일 형식)83- feedback_date (최근 90일 내 날짜)84- rating (별 1~5개)85- category (Bug, Feature Request, Complaint, Praise)86- text (현실적인 피드백 내용)87- product (전자기기, 의류, 홈)8889**제약 조건:**90- 평점 분포: 5점 40%, 4점 30%, 3점 20%, 1~2점 10%91- Bug 카테고리는 평점 1~3만 허용92- Feature Request는 평점 3~5만 허용93- 이메일 도메인은 현실적으로 (gmail, yahoo, company.com)9495## 산출물9697- 즉시 실행 가능한 Python script 또는 직접 데이터 파일98- 적절한 헤더와 형식의 CSV 파일99- 유효한 구조와 타입의 JSON 파일100- 데이터베이스 입력용 SQL INSERT 문101- 데이터 검증 및 제약 조건 준수102- 현실적이고 비즈니스에 적합한 값103- 데이터 생성 로직 문서화104- 데이터셋 사용을 위한 빠른 시작 가이드105106## 출력 형식107108**CSV:** 평면 테이블 형식, 스프레드시트와 데이터베이스로 쉽게 가져오기 가능109110**JSON:** 중첩 구조, API 및 NoSQL 데이터베이스에 적합111112**SQL:** INSERT 문, 관계형 데이터베이스에서 직접 실행 가능113114**Python Script:** 사용자 정의 또는 대용량 데이터셋을 위한 실행 가능 생성기