Dummy Dataset Generation
Generate realistic dummy datasets for testing with customizable columns, constraints, and output formats (CSV, JSON, SQL, Python script). Creates executable scripts or direct data files for immediate use.
Use when: Creating test data, generating sample datasets, building realistic mock data for development, or populating test environments.
Arguments:
$PRODUCT: The product or system name
$DATASET_TYPE: Type of data (e.g., customer feedback, transactions, user profiles)
$ROWS: Number of rows to generate (default: 100)
$COLUMNS: Specific columns or fields to include
$FORMAT: Output format (CSV, JSON, SQL, Python script)
$CONSTRAINTS: Additional constraints or business rules
Step-by-Step Process
- Identify dataset type - Understand the data domain
- Define column specifications - Names, data types, and value ranges
- Determine row count - How many sample records needed
- Select output format - CSV, JSON, SQL INSERT, or Python script
- Apply realistic patterns - Ensure data looks authentic and valid
- Add business constraints - Respect business logic and relationships
- Generate or script data - Create executable output
- Validate output - Ensure data quality and completeness
Template: Python Script Output
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}")
Example Dataset Specification
Dataset Type: Customer Feedback
Columns:
- feedback_id (auto-increment, U001, U002...)
- customer_name (realistic names)
- email (valid email format)
- feedback_date (dates last 90 days)
- rating (1-5 stars)
- category (Bug, Feature Request, Complaint, Praise)
- text (realistic feedback)
- product (electronics, clothing, home)
Constraints:
- Ratings skewed: 40% 5-star, 30% 4-star, 20% 3-star, 10% 1-2 star
- Bug category only with ratings 1-3
- Feature requests only with ratings 3-5
- Email domains realistic (gmail, yahoo, company.com)
Output Deliverables
- Ready-to-execute Python script OR direct data file
- CSV file with proper headers and formatting
- JSON file with valid structure and types
- SQL INSERT statements for database population
- Data validation and constraint compliance
- Realistic, business-appropriate values
- Documentation of data generation logic
- Quick-start instructions for using the dataset
Output Formats
CSV: Flat tabular format, easy to import into spreadsheets and databases
JSON: Nested structure, ideal for APIs and NoSQL databases
SQL: INSERT statements, directly executable on relational databases
Python Script: Executable generator for custom or large datasets
1---2name: dummy-dataset3description: Dummy Dataset Generation4---5# Dummy Dataset Generation67Generate realistic dummy datasets for testing with customizable columns, constraints, and output formats (CSV, JSON, SQL, Python script). Creates executable scripts or direct data files for immediate use.89**Use when:** Creating test data, generating sample datasets, building realistic mock data for development, or populating test environments.1011**Arguments:**12- `$PRODUCT`: The product or system name13- `$DATASET_TYPE`: Type of data (e.g., customer feedback, transactions, user profiles)14- `$ROWS`: Number of rows to generate (default: 100)15- `$COLUMNS`: Specific columns or fields to include16- `$FORMAT`: Output format (CSV, JSON, SQL, Python script)17- `$CONSTRAINTS`: Additional constraints or business rules1819## Step-by-Step Process20211. **Identify dataset type** - Understand the data domain222. **Define column specifications** - Names, data types, and value ranges233. **Determine row count** - How many sample records needed244. **Select output format** - CSV, JSON, SQL INSERT, or Python script255. **Apply realistic patterns** - Ensure data looks authentic and valid266. **Add business constraints** - Respect business logic and relationships277. **Generate or script data** - Create executable output288. **Validate output** - Ensure data quality and completeness2930## Template: Python Script Output3132```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## Example Dataset Specification7677**Dataset Type:** Customer Feedback7879**Columns:**80- feedback_id (auto-increment, U001, U002...)81- customer_name (realistic names)82- email (valid email format)83- feedback_date (dates last 90 days)84- rating (1-5 stars)85- category (Bug, Feature Request, Complaint, Praise)86- text (realistic feedback)87- product (electronics, clothing, home)8889**Constraints:**90- Ratings skewed: 40% 5-star, 30% 4-star, 20% 3-star, 10% 1-2 star91- Bug category only with ratings 1-392- Feature requests only with ratings 3-593- Email domains realistic (gmail, yahoo, company.com)9495## Output Deliverables9697- Ready-to-execute Python script OR direct data file98- CSV file with proper headers and formatting99- JSON file with valid structure and types100- SQL INSERT statements for database population101- Data validation and constraint compliance102- Realistic, business-appropriate values103- Documentation of data generation logic104- Quick-start instructions for using the dataset105106## Output Formats107108**CSV:** Flat tabular format, easy to import into spreadsheets and databases109110**JSON:** Nested structure, ideal for APIs and NoSQL databases111112**SQL:** INSERT statements, directly executable on relational databases113114**Python Script:** Executable generator for custom or large datasets