CSV товаров для ShopifyРазработка и доработка

Скрипт на Python, который превратит файл товаров поставщика или старого магазина в CSV для импорта в Shopify

Обычно готово за 15 минутДоработки включеныКонтроль качества
Пакеты
Защита оплатыПодробнее
  • Доработки в рамках пакета бесплатны.
  • Если вы не ответите в течение 3 дней после сдачи, работа будет принята автоматически.

При оплате деньги резервируются и переходят сервису, только когда вы примете работу.

Скрипт на Python, который превратит файл товаров поставщика или старого магазина в CSV для импорта в Shopify

Пример результата

Пример по пакету «Стандарт»

Сводный отчёт в Excel из ежемесячных продаж 9 магазинов

Как его запускают

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Папка: sales/2026-10, найдено файлов: 9
2026-11-02 09:14:03 INFO  shop-01.csv: 1284 строки
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 строк
2026-11-02 09:14:04 WARN  shop-07.csv: пропущены 3 строки без цены (строки 88, 412, 913)
2026-11-02 09:14:05 INFO  Готово: 10 412 строк -> report-2026-10.xlsx (листы «Продажи» и «Итоги»)

Настройки, а не код

Названия столбцов каждого магазина лежат в settings.ini. Новый магазин или переименованный столбец — это одна строка там:

[columns]
date = Дата, Дата продажи, День
product = Товар, Наименование, Название
quantity = Кол-во, Количество, Шт
price = Цена, Цена за шт

Фрагмент кода

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Читает файл одного магазина и даёт столбцам названия из отчёта."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: нет столбца «{name}» (искали: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Файлы: ZIP-архив с merge_sales.py (310 строк), settings.ini, requirements.txt и README: как установить Python, как запустить скрипт и что значит каждое сообщение в журнале. Клиент запускает скрипт на своём компьютере.

Клиент: небольшая сеть из 9 магазинов канцтоваров. Каждый магазин присылает продажи за месяц в CSV или Excel, и названия столбцов у всех немного разные. Задача: скрипт, который читает все файлы из папки, приводит столбцы к одному виду и сохраняет один отчёт в Excel: все продажи и отдельный лист с итогами по магазинам.

Клиент и все данные вымышлены.

Об услуге

Shopify загружает товары из файла CSV, но только в своём макете: один Handle на товар и все его варианты, названия и значения опций в определённых столбцах, картинки в виде открытых ссылок. Этот скрипт на Python переводит в такой макет файл, который у вас есть: прайс поставщика, выгрузку из старого магазина или вашу таблицу Excel. Он сопоставляет ваши столбцы со столбцами Shopify, начиная со «Стандарта» превращает размеры и цвета в варианты, чистит цены и остатки и добавляет теги. Он следует текущему шаблону CSV товаров Shopify, который можно скачать в вашей админке. Картинки должны лежать по ссылкам, которые Shopify может открыть. Импортируете файл в Shopify вы сами, в ваш магазин мы не заходим. Сначала попробуйте несколько товаров: результат будет настолько полным, насколько полны ваши данные.

Что входит

  • Что вы получитеАрхив ZIP со скриптом на Python, README с пошаговой инструкцией и, начиная со «Стандарта», файл настроек с соответствием столбцов; код также виден на странице заказа.
  • Макет ShopifyПо текущему шаблону CSV товаров Shopify
  • Варианты вместеНачиная со «Стандарта», размеры и цвета под одним товаром
  • Чистые цены и остаткиЧисла, которые принимает Shopify, без знаков валют и пробелов
  • Список проблемСтроки без цены, артикула или картинки попадают в отчёт
  • Понятный кодС комментариями, столбец легко добавить потом

Порядок работы

  1. 1
    ФайлыВы присылаете образец файла товаров и говорите, что куда идёт
  2. 2
    КодМы пишем скрипт и инструкцию по запуску
  3. 3
    ПроверкаВы импортируете несколько товаров в Shopify и проверяете их
  4. 4
    ПравкиВы просите правки в рамках пакета и присылаете текст ошибки, если она есть

Что нужно от вас

20-30 строк файла, который у вас есть (прайс поставщика, выгрузка старого магазина или ваша таблица), как в нём записаны варианты (строка на размер или все размеры в одной ячейке), где картинки (ссылки или файлы, которые вы сначала загрузите в Shopify) и как задавать цены. Если есть, выгрузка нескольких товаров из вашего магазина Shopify, чтобы столбцы совпали точно. Ваша система: Windows, macOS или Linux.

В брифе мы спросим:

  • Какой файл у вас сейчас?
  • Как в нём записаны варианты?
  • Где картинки?
  • Как задавать цены?

Сравнение пакетов

ПакетыЭкономПростые товары16 $СтандартТовары с вариантами33 $БизнесПрограмма для импорта67 $
Срок1 день2 дня3 дня
Доработки123
Коддо 150 строкдо 400 строкдо 1000 строк
Файлов кода1до 3до 8
Файл настроекНетДаДа
Понятные ошибки и журнал работыНетДаДа
Параметры запуска и инструкция для запуска по расписаниюНетНетДа
Инструкция по установке и запуску (README)ДаДаДа
ЯзыкPythonPythonPython
Заказать ЭкономЗаказать СтандартЗаказать Бизнес

Защита оплаты

Вы оплачиваете заказ сразу, но деньги переходят сервису только за принятую работу.

  • Фиксированная ценаЦена пакета не меняется после оплаты.
  • Деньги резервируютсяПри оплате сумма только резервируется. Сервису она переходит, когда вы примете работу.
  • Проверка перед сдачейКаждый результат проходит проверку качества, прежде чем попасть к вам, и вы видите его на странице заказа до приёмки.
  • Бесплатные доработкиПросите изменения в рамках брифа столько раз, сколько предусмотрено пакетом.
  • Приёмка через 3 дняЕсли в течение 3 дней после сдачи вы не примете работу и не попросите изменений, она будет принята автоматически. Если после сдачи вы напишете в чат заказа, заказ подождёт; ответив, мы можем начать отсчёт 3 дней заново и сообщим об этом в чате.
  • Переделка или полный возвратЕсли результат не соответствует брифу и доработки не помогли или срок превышен больше чем вдвое, напишите в чат заказа: мы переделаем работу или полностью вернём деньги.
Как это работает →

Вопросы и ответы

Вы загрузите товары в мой магазин?

Нет. В ваш магазин мы не заходим. CSV вы импортируете в админке Shopify сами, а в README показано, где это и какие параметры выбрать.

А если картинки лежат файлами на компьютере?

Shopify берёт картинки из CSV только по ссылкам, которые может открыть. Сначала загрузите файлы в раздел «Файлы» Shopify и дайте скрипту список их ссылок или используйте ссылки поставщика.

Он может обновлять цены и остатки уже заведённых товаров?

Да, если Handle совпадают с вашими товарами: при импорте Shopify может перезаписать товары с тем же Handle. Сначала попробуйте на нескольких товарах.

Он напишет описания товаров?

Нет. Он переносит описания и сведения из вашего файла и может привести их оформление в порядок. Тексты, которых нет, остаются пустыми и попадают в отчёт.

Не нашли ответ?

Пакеты