Skip to content

Instantly share code, notes, and snippets.

@anjijava16
Created July 28, 2022 13:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anjijava16/6e8bc92d5a880b131d07dfcf27e32efa to your computer and use it in GitHub Desktop.
Save anjijava16/6e8bc92d5a880b131d07dfcf27e32efa to your computer and use it in GitHub Desktop.
import csv
from datetime import datetime
INPUT_FILE_PATH = 'C:/Tech_Learn_welcome/Python_Utils/FastAPI/sai_workspace/fast_api_welcome/files/input.csv'
OUTPUT_FILE_PATH = 'C:/data/python_output/input.csv'
HEADER_SKIP = True
OUTPUT_HEADER = 'id,first,last,ssn,address,firstname_lastname,process_date'
def read_file():
my_list = []
with open(INPUT_FILE_PATH) as file:
reader = csv.reader(file)
if HEADER_SKIP:
next(reader)
for row in reader:
my_list.append(row)
return my_list
def transform(my_list):
res_list = []
for row in my_list:
current_date = datetime.today().strftime('%Y-%m-%d')
first_lastname = row[1] + "_" + row[2]
ssn=row[3]
ssn_split=ssn.split('-')
new_ssn='***-**-'+ssn_split[2]
out = row[0] + "," + row[1] + "," + row[2] + "," + new_ssn + "," + row[4] + "," + first_lastname + "," + current_date
print(out)
res_list.append(out)
return res_list;
def write_file(list):
with open(OUTPUT_FILE_PATH, 'w', encoding='utf-8', newline="") as f:
writer = csv.writer(f)
writer.writerow(OUTPUT_HEADER.split(','))
print(len(list))
for res in list:
print(res)
writer.writerow(res.split(','))
if __name__ == "__main__":
print("Start the main method here")
print("Read method started here ")
my_list = read_file();
print(my_list)
print(len(my_list))
print("Read method Ended here ")
print("transform method started here ")
transform_list = transform(my_list)
print("transform method Ended here ")
print("write_file method started here ")
write_file(transform_list)
print("write_file method Ended here ")
#
# print("End the main method here")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment