Я пытаюсь создать поддельные данные для медицинских файлов, которые обычно получает моя команда. Я могу написать метод, который генерирует один файл достаточно легко, но проблема в том, что мы получаем несколько типов файлов с разными заголовками, которые могут иметь самые разные значения. Чтобы захватить все типы файлов, я пишу один и тот же метод, но с немного другими параметрами IE
def fake_csv(file_name,num_rows = 10):
fake = Faker('en_US')
headers = ["f_name", "l_name","Birthday", "Address", "Sex"]
with open(file_name, "w") as csvFile:
writer = csv.DictWriter(csvFile, fieldnames=headers)
writer.writeheader()
for row in range(num_rows):
first_name = fake.first_name()
last_name = fake.last_name()
sex = random.choice(["Male", "Female"])
dob = fake.date_of_birth(minimum_age=18)
address = faker.address()
writer.writerow({
"f_name": first_name
"l_name": last_name,
"Birthday": dob,
"Address": address,
"Sex": sex,
})
def fake_csv2(file_name,num_rows = 10):
fake = Faker('en_US')
headers = f_name", "l_name","id", "diagnosis", "treatments", "phys_fname", "ph_lname", "phys_id"]]
with open(file_name, "w") as csvFile:
writer = csv.DictWriter(csvFile, fieldnames=headers)
writer.writeheader()
for row in range(num_rows):
first_name = fake.first_name()
last_name = fake.last_name()
pat_id = fake.ssn().replace("-", "")
diagnos = gen_diagnosis()
treatments = gen_treatment()
phys_first_name = fake.first_name()
phys_last_name = fake.last_name()
phys_id = fake.ssn().replace("-", "")
writer.writerow({
"f_name": first_name
"l_name": last_name,
"id": id,
"diagnosis": diagnos,
"treatments": treatments,
"phys_fname": phys_first_name,
"phys_lname": phys_last_name,
"phys_id": phys_id,
})
Я определенно мог бы решить часть этой проблемы, создав файл yaml и передав настроенный файл. параметры в функцию таким образом, но что если вместо жестко закодированного значения, например first_name = "Bob", я хочу передать код? Как и метод с именем generate_fake_diagnosis (), и имеют диагноз = generate_fake_diagnosis (), а не жестко закодированная строка? Итак, в итоге я пытаюсь сделать следующее: 1. Создать метод, который принимает настроенные параметры. 2. Использовать эти параметры для определения заголовков отдельного файла значений. 3. Уметь указать, хочу ли я значение в столбец, генерируемый методом или принимающий жестко закодированное значение
У кого-нибудь есть идеи? Спасибо за чтение!