To generate fake supplier information, we can use Python's built-in modules like random and string along with predefined lists for realistic data. Here's a solution that creates a dictionary containing various supplier details:
import random
import string
def generate_fake_supplier():
# Generate random Supplier ID (6 alphanumeric characters)
supplier_id = ''.join(random.choices(string.ascii_uppercase + string.digits, k=6))
# Predefined lists for realistic data
company_names = [
"Global Supplies Inc.", "Prime Logistics Ltd.", "Alpha Traders Co.",
"Omega Solutions", "Nexus Enterprises", "Vista Corp", "Apex Industries"
]
first_names = ["James", "Maria", "Robert", "Patricia", "David", "Jennifer", "Michael", "Linda"]
last_names = ["Smith", "Johnson", "Williams", "Brown", "Jones", "Garcia", "Miller", "Davis"]
streets = ["Main St", "Oak Ave", "Park Rd", "1st Street", "Elm Drive", "Crescent Blvd"]
cities = ["Springfield", "Riverside", "Franklin", "Georgetown", "Clinton", "Arlington"]
states = ["CA", "NY", "TX", "FL", "IL", "PA"]
domains = ["supplier.com", "globaltrading.net", "logistics.org", "enterprises.io"]
# Randomly select data from lists
company = random.choice(company_names)
contact = f"{random.choice(first_names)} {random.choice(last_names)}"
street = f"{random.randint(1, 999)} {random.choice(streets)}"
city = random.choice(cities)
state = random.choice(states)
zip_code = f"{random.randint(10000, 99999)}"
phone = f"({random.randint(100, 999)}) {random.randint(100, 999)}-{random.randint(1000, 9999)}"
domain = random.choice(domains)
email = f"{contact.lower().replace(' ', '.')}@{domain}"
# Construct supplier dictionary
supplier = {
"Supplier ID": supplier_id,
"Company Name": company,
"Contact Person": contact,
"Address": {
"Street": street,
"City": city,
"State": state,
"ZIP Code": zip_code
},
"Phone": phone,
"Email": email
}
return supplier
fake_supplier = generate_fake_supplier()
print(fake_supplier)
Example Output:
{
'Supplier ID': 'X3B7K9',
'Company Name': 'Prime Logistics Ltd.',
'Contact Person': 'Maria Garcia',
'Address': {
'Street': '456 Oak Ave',
'City': 'Franklin',
'State': 'TX',
'ZIP Code': '78901'
},
'Phone': '(555) 123-4567',
'Email': '[email protected]'
}
Key Features:
- Supplier ID: 6-character alphanumeric string (uppercase letters + digits).
- Company Name: Selected from a predefined list of realistic business names.
- Contact Person: Generated by combining random first and last names.
- Address: Includes randomized street number, street type, city, state, and ZIP code.
- Phone: Formatted as
(XXX) XXX-XXXXwith random digits. - Email: Created from contact name (lowercase with dots) and a random domain.
This solution ensures all data is randomized yet realistic, using only Python's standard libraries. Each call to generate_fake_supplier() produces a unique supplier profile.
Request an On-site Audit / Inquiry