Создание тестовых файлов в Python с использованием Faker с использованием разных заголовков - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь создать поддельные данные для медицинских файлов, которые обычно получает моя команда. Я могу написать метод, который генерирует один файл достаточно легко, но проблема в том, что мы получаем несколько типов файлов с разными заголовками, которые могут иметь самые разные значения. Чтобы захватить все типы файлов, я пишу один и тот же метод, но с немного другими параметрами 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. Уметь указать, хочу ли я значение в столбец, генерируемый методом или принимающий жестко закодированное значение

У кого-нибудь есть идеи? Спасибо за чтение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...