Skip to content

Instantly share code, notes, and snippets.

@jeremytregunna
Last active February 1, 2023 17:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeremytregunna/3cdc13479fcbb0a81d5cb93ee12674b5 to your computer and use it in GitHub Desktop.
Save jeremytregunna/3cdc13479fcbb0a81d5cb93ee12674b5 to your computer and use it in GitHub Desktop.
import csv
def generate_referral_code(first_name, last_name):
first = first_name.lower().encode('ascii', errors='ignore').decode().replace(' ', '-')
last = last_name.lower().encode('ascii', errors='ignore').decode().replace(' ', '-')
return f"{first}-{last}".encode('ascii', errors='ignore').decode().replace('(', '').replace(')', '').replace('--', '-')
data = []
with open('file.csv', newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
# Add "Referral Code" column to each row
for row in reader:
row['Referral Code'] = generate_referral_code(row['First Name'], row['Last Name'])
data.append(row)
print(row['Referral Code'])
with open('new_file.csv', newline='', encoding='utf-8', mode='w') as csvfile:
fieldnames = data[0].keys()
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
# Write each row to new file
for row in data:
writer.writerow(row)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment