You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python生成随机姓名地址存CSV,及含email等的美国专属随机信息

Generate Random US Personal Info & Export to CSV with Python

Got it, let's walk through how to generate realistic random US-based personal data (including first/last names, emails, addresses, cities, states, zip codes, and country) and export everything to a CSV file. The easiest way to do this is with the Faker library—it's built specifically for generating fake but plausible data that looks real.

Step 1: Install Required Libraries

First, install Faker using pip to access its fake data generation tools:

pip install faker

If you want a simpler CSV export workflow (great for larger datasets), install pandas too:

pip install pandas

Step 2: Write the Code to Generate & Export Data

Here are two complete scripts—one using Python's built-in csv library, and another using pandas for a more streamlined process.

Using Python's Standard csv Library

This approach works without extra dependencies beyond Faker:

from faker import Faker
import csv

# Initialize Faker for US locale to ensure US-specific names/addresses
fake = Faker('en_US')

def generate_single_person():
    first_name = fake.first_name()
    last_name = fake.last_name()
    # Create a realistic email using first/last name (add a random number for uniqueness if needed)
    email = f"{first_name.lower()}.{last_name.lower()}@{fake.free_email_domain()}"
    # Uncomment below for emails with random numbers:
    # email = f"{first_name.lower()}{fake.random_int(10,99)}.{last_name.lower()}@{fake.free_email_domain()}"
    
    return {
        'first_name': first_name,
        'last_name': last_name,
        'email': email,
        'address': fake.street_address(),
        'city': fake.city(),
        'state': fake.state_abbr(),  # Use fake.state() if you want full state names (e.g., "California")
        'zip_code': fake.zipcode(),
        'country': 'United States'
    }

# Set how many entries you want to generate
num_entries = 100

# Define CSV column headers
csv_headers = ['first_name', 'last_name', 'email', 'address', 'city', 'state', 'zip_code', 'country']

# Write data to CSV file
with open('us_random_people.csv', 'w', newline='', encoding='utf-8') as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=csv_headers)
    writer.writeheader()
    for _ in range(num_entries):
        writer.writerow(generate_single_person())

print(f"Done! Generated {num_entries} entries and saved to us_random_people.csv")

Using Pandas (Simpler for Larger Datasets)

If you're comfortable with pandas, this cuts down on boilerplate code:

from faker import Faker
import pandas as pd

fake = Faker('en_US')

def generate_single_person():
    first_name = fake.first_name()
    last_name = fake.last_name()
    email = f"{first_name.lower()}.{last_name.lower()}@{fake.free_email_domain()}"
    
    return {
        'first_name': first_name,
        'last_name': last_name,
        'email': email,
        'address': fake.street_address(),
        'city': fake.city(),
        'state': fake.state_abbr(),
        'zip_code': fake.zipcode(),
        'country': 'United States'
    }

num_entries = 100
# Generate a list of person dictionaries, then convert to a DataFrame
people_data = [generate_single_person() for _ in range(num_entries)]
people_df = pd.DataFrame(people_data)

# Export DataFrame to CSV (index=False removes the extra index column)
people_df.to_csv('us_random_people_pandas.csv', index=False, encoding='utf-8')
print(f"Success! Generated {num_entries} entries and saved to us_random_people_pandas.csv")

Quick Tips for Customization

  • Locale Lock: The en_US locale ensures all generated data (names, cities, states) is US-specific—skip this and you might get random international data.
  • Email Variation: Swap free_email_domain() for company_email() if you want business-style emails, or tweak the format to use underscores instead of dots.
  • Data Realism: Faker uses real US census names and USPS address data, so the output looks way more plausible than manually generating random strings.

内容的提问来源于stack exchange,提问作者bruce_karlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:53:50