From 6818f1c839473f233ae0c550892857af7426ddd5 Mon Sep 17 00:00:00 2001 From: va1is Date: Tue, 23 Sep 2025 12:00:31 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D0=BE=D1=88=D0=B8?= =?UTF-8?q?=D0=B1=D0=BA=D0=B8=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=BA=D0=B5=20ZH=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D1=82=D1=8B=D1=85=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Parsing ZARAHOME/src/xlsx_recorder.py | 13 +++++++++---- ...всех эксель файлов из папки в один одинаковый формат.py | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Parsing ZARAHOME/src/xlsx_recorder.py b/Parsing ZARAHOME/src/xlsx_recorder.py index 977cd84..272d750 100644 --- a/Parsing ZARAHOME/src/xlsx_recorder.py +++ b/Parsing ZARAHOME/src/xlsx_recorder.py @@ -34,6 +34,10 @@ def sanitize_filename(name: str, repl: str = "_") -> str: clean = re.sub(INVALID_FILE_CHARS, repl, name) return clean.split("?", 1)[0].strip() +def safe_str(val) -> str: + """Безопасно приводит значение к строке, None → ''.""" + return str(val) if val is not None else "" + # ────────────────────────── Recorder ────────────────────────────── class Recorder: def __init__(self, records_folder="records_folder"): @@ -108,11 +112,12 @@ class Recorder: weight_kg = math.ceil(weight_g / 1000) if weight_g else 0 url_full = row[idx["Краткое описание"]] name_orig = row[idx["Название товара или услуги"]].capitalize() - desc_orig = ( - row[idx["Полное описание"]].replace("\n", "
") + "
" + - row[idx["Параметр: Уход"]].replace("\n", "
") + "
" + - row[idx["Параметр: Происхождение"]].replace("\n", "
") + desc_orig = ( + safe_str(row[idx["Полное описание"]]).replace("\n", "
") + "
" + + safe_str(row[idx["Параметр: Уход"]]).replace("\n", "
") + "
" + + safe_str(row[idx["Параметр: Происхождение"]]).replace("\n", "
") ).strip("
") + images = [img for img in row[idx["Изображения варианта"]].split("\n") if img] cat_raw = row[idx["Размещение на сайте"]].replace("Каталог/ZaraHome/WOMEN/", "") diff --git a/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py b/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py index c949c56..11b834d 100644 --- a/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py +++ b/Processing/0_01_слияние_всех эксель файлов из папки в один одинаковый формат.py @@ -28,7 +28,7 @@ def is_temp_or_hidden(name: str) -> bool: # === Пути === script_dir = get_script_dir() -folder_path = os.path.join(script_dir, 'Files-todo/manifest') +folder_path = os.path.join(script_dir, 'Files-todo') # имя результата: All-todo-YYYYMMDD-HHMM.xlsx timestamp = datetime.now().strftime('%Y%m%d-%H%M')