File size: 640 Bytes
03c34b1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import csv
from pydantic import BaseModel

def is_duplicated(record: str, seen_names: set) -> bool:
    return record in seen_names

def save_data_to_csv(records: list, data_struct: BaseModel, filename: str):
    if not records:
        print("No records to save.")
        return

    # Use field names from the Pydantic data model
    fieldnames = data_struct.model_fields.keys()

    with open(filename, mode="w", newline="", encoding="utf-8") as file:
        writer = csv.DictWriter(file, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(records)
    print(f"Saved {len(records)} records to '{filename}'.")