def save_csv()

in scripts/generators/csv_generator.py [0:0]


def save_csv(file: str, sorted_fields: List[Field], version: str) -> None:
    open_mode: str = "wb"
    if sys.version_info >= (3, 0):
        open_mode: str = "w"

    with open(file, open_mode) as csvfile:
        schema_writer: _csv._writer = csv.writer(csvfile,
                                                 delimiter=',',
                                                 quoting=csv.QUOTE_MINIMAL,
                                                 lineterminator='\n')

        schema_writer.writerow(["ECS_Version", "Indexed", "Field_Set", "Field",
                                "Type", "Level", "Normalization", "Example", "Description"])
        for field in sorted_fields:
            key_parts: List[str] = field['flat_name'].split('.')
            if len(key_parts) == 1:
                field_set: str = 'base'
            else:
                field_set: str = key_parts[0]

            indexed: str = str(field.get('index', True)).lower()
            schema_writer.writerow([
                version,
                indexed,
                field_set,
                field['flat_name'],
                field['type'],
                field['level'],
                ', '.join(field['normalize']),
                field.get('example', ''),
                field['short'],
            ])

            if 'multi_fields' in field:
                for mf in field['multi_fields']:
                    schema_writer.writerow([
                        version,
                        indexed,
                        field_set,
                        mf['flat_name'],
                        mf['type'],
                        field['level'],
                        '',
                        field.get('example', ''),
                        field['short'],
                    ])