Facker-Pandas
Wed 12 November 2025
import pyutil as pyu
pyu.get_local_pyinfo()
'conda env: py311; pyv: 3.11.9 (main, Apr 19 2024, 16:48:06) [GCC 11.2.0]'
print(pyu.ps2("pandas"))
pandas==2.2.3
from enum import Enum
from faker import Faker
import random
import pandas as pd
fake = Faker()
class JobRole(Enum):
ENGINEER = "Engineer"
MANAGER = "Manager"
ANALYST = "Analyst"
CONSULTANT = "Consultant"
DEVELOPER = "Developer"
def generate_data(num_records):
data = []
for _ in range(num_records):
record = {
"name": fake.name(),
"email": fake.email(),
"address": fake.address(),
"job_role": random.choice(list(JobRole)).value,
"company": fake.company(),
"phone_number": fake.phone_number()
}
data.append(record)
return data
def generate_batch():
batch = []
for _ in range(5):
record = {
"name": fake.name(),
"email": fake.email(),
"address": fake.address(),
"job_role": random.choice(list(JobRole)).value,
"company": fake.company(),
"phone_number": fake.phone_number()
}
batch.append(record)
return batch
def startpy():
# Initialize an empty CSV file and write headers first
csv_file_path_incremental = 'user1.csv'
df = pd.DataFrame(generate_batch()) # Generate initial 5 rows for headers
df.to_csv(csv_file_path_incremental, index=False, mode='w') # Write headers with initial data
# Generate remaining 995 rows in increments of 5 and append to CSV
for _ in range(199): # Remaining 199 batches of 5 rows each = 995 rows
batch_data = generate_batch()
batch_df = pd.DataFrame(batch_data)
batch_df.to_csv(csv_file_path_incremental, index=False, mode='a', header=False)
startpy()
Score: 10
Category: pandas-work