49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
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)
|