import csv
from tqdm import tqdm

def chort_text(parts):
    if parts[0] == 'None':
        return 'None'
    # Создаем словарь для хранения данных
    processed_data = {}

    # Обрабатываем каждую часть
    for part in parts:
        # Разбиваем часть по разделителю |
        subparts = part.split('|')
        # Получаем производителя и номер детали
        manufacturer = subparts[0].strip()
        number = subparts[1].strip()
        # Получаем дополнительную информацию
        info = subparts[2].strip() if len(subparts) > 2 else ''
        # Добавляем данные в словарь
        if manufacturer in processed_data:
            processed_data[manufacturer].append(f"{number}")
        else:
            processed_data[manufacturer] = [info, number]
    # Преобразуем словарь в требуемый формат
    string = ''
    for key, value in processed_data.items():
        if value[0] == '':
            string += f'{key} : {" | ".join(value[1:])} <> '
        else:
            string += f'{key} : {" | ".join(value[1:])} : {value[0]} <> '
    return string

with open('oen.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)
    csv_data = list(reader)



with open('oem2.csv', 'w', newline='', encoding='windows-1251') as csvfile:
    writer = csv.writer(csvfile)

    for datas in tqdm(csv_data[1:], desc="Processing", unit="iteration"):
        row = datas
        parts = datas[5].split('<>')
        row[5] = chort_text(parts)
        parts = datas[6].split('<>')
        row[6] = chort_text(parts)
        writer.writerow(row)
