Создание TSV-файла с заданиями

Задания загружаются в пул в TSV-файле.

Скачайте образец файла для вашего проекта по ссылке Пример загрузочного файла (tsv) на странице пула.

Если в пул необходимо загрузить задания разных типов, загрузите несколько TSV-файлов, каждый из которых будет содержать задания одного типа.

Структура TSV-файла

Первая строка файла содержит заголовки столбцов:

Тип задания зависит от того, какие поля заполнены:

Чтобы создать основное задание, заполните столбцы с заголовком INPUT.

Пример с простым объектом (строка, ссылка и т.д)
Пример с массивом строк

Столбцы с обязательными полями входных данных должны быть заполнены. Остальные столбцы можно удалить, если они пустые.

Работа с TSV-файлом

Популярные редакторы электронных таблиц позволяют импортировать и экспортировать данные в формате TSV:

Вы можете работать с данными в электронной таблице, а затем сохранить в требуемом формате:
  1. Создайте электронную таблицу с нужными заголовками или скопируйте их из Примера загрузочного файла.
  2. Добавьте данные для заданий.
  3. Скопируйте всю таблицу и вставьте в простой текстовый редактор (например, Блокнот на Windows или TextEdit на Mac OS).
  4. Сохраните файл в кодировке UTF-8 с расширением tsv.

Максимальный размер файла — 100 Мб.

Экранирование строк

Чтобы в поле с типом строка включать несколько абзацев или строки с табуляцией:
  • Каждую кавычку типа " внутри текстовых данных дополните еще одной кавычкой.

    Другие кавычки (« » и “ ”) не экранируйте.

  • Заключите поле в кавычки " ".

Неэкранированные кавычки будут удалены при обработке TSV-файла.

Примеры экранирования
Входные данные Результат
"Задание в ""Яндекс.Толоке"""

Задание в "Яндекс.Толоке"

"Задание в «Яндекс.Толоке»"

Задание в «Яндекс.Толоке»

Экранирование данных в формате json

Чтобы загрузить данные в поле с типом json:

  1. Каждую кавычку типа " внутри объекта дополните еще одной кавычкой.

  2. Заключите поле в кавычки " ".

Примеры экранирования
Входные данные Результат
"[{""type"":""polygon"",""data"":[{""x"":0.24173,""y"":0.25118},{""x"":0.31327,""y"":0.24896},{""x"":0.31327,""y"":0.32453},{""x"":0.27576,""y"":0.34898},{""x"":0.23061,""y"":0.32564}]}]"
[{"type":"polygon","data":[{"x":0.24173,"y":0.25118},{"x":0.31327,"y":0.24896},{"x":0.31327,"y":0.32453},{"x":0.27576,"y":0.34898},{"x":0.23061,"y":0.32564}]}]

Экранирование данных массива json

Чтобы загрузить данные в поле с типом json:

  1. Каждую кавычку типа " внутри объекта дополните еще одной кавычкой.

  2. Внутри объекта добавьте \ перед запятой.

  3. Заключите поле в кавычки " ".

Примеры экранирования
Входные данные Результат
"{""url"":""https://fotki-kotikov.ru/1""\,""img"":""https://fotki-kotikov.ru/cat1.jpg""\,""description"":""Просто толстые котики\, ведь нет ничего и никого прекраснее.""\,""title"":""Толстые котики""},{""url"":""https://fotki-kotikov.ru/2""\,""img"":""https://fotki-kotikov.ru/cat2.jpg""\,""description"":""Просто рыжие котики\, ведь все знают\, что рыжие котики к деньгам.""\,""title"":""Рыжие котики""},{""url"":""https://fotki-kotikov.ru/3""\,""img"":""https://fotki-kotikov.ru/cat3.jpg""\,""description"":""Да\, это просто будут спящие котики""\,""title"":""Спящие котики""}"
{"url":"https://fotki-kotikov.ru/1","img":"https://fotki-kotikov.ru/cat1.jpg","description":"Просто толстые котики, ведь нет ничего и никого прекраснее.","title":"Толстые котики"},{"url":"https://fotki-kotikov.ru/2","img":"https://fotki-kotikov.ru/cat2.jpg","description":"Просто рыжие котики, ведь все знают, что рыжие котики к деньгам.","title":"Рыжие котики"},{"url":"https://fotki-kotikov.ru/3","img":"https://fotki-kotikov.ru/cat3.jpg","description":"Да, это просто будут спящие котики","title":"Спящие котики"}

Решение проблем

Сколько заданий должно быть на странице?

Количество заданий зависит от сложности и длительности выполнения. Не делайте страницы заданий слишком большими: они неудобны для исполнителей (например, при сбоях в соединении с интернетом) и не пользуются спросом.

Ошибки при загрузке заданий в пул
Как посмотреть лог обработки
Чтобы посмотреть лог обработки, нажмите Подробнее об ошибках загрузки. Лог обработки записан в формате JSON. Объекты внутри result соответствуют номеру строки загружаемого файла. Строки, обработанные с ошибкой, имеют статус "success": false.
Совет. Работать с большим логом удобнее, если скопировать его в текстовый редактор.
Ошибки в заголовках столбцов

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

Таблица ошибок обработки
Описание Как исправить
"parsing_error_of": "https://tlk.s3.yandex.net/wsdm2020/photos/2d5f63a3184919ce7e3e7068cf93da4b.jpg\t\t",
"exception_msg": "the nameMapping array and the sourceList should be the same size (nameMapping length = 1, sourceList size = 3)"

Лишние знаки табуляции.

Если в загружаемом TSV-файле после данных или ссылки стоит количество разделителей столбцов \t больше, чем задано число столбцов во входных данных, то появится сообщение об ошибке.

Например, когда во входных определен 1 столбец, а в TSV-файле после ссылки прописано ещё два знака табуляции \t\t, то получится 3 столбца, 2 из которых лишние.

Удалите лишние разделители столбцов, в приведенном выше примере ошибки — оба знака (\t\t).

"exception_msg": "the nameMapping array and the sourceList should be the same size (nameMapping length = 4, sourceList size = 6)"

Не совпадает количество полей в заголовке и в строке.

Проверьте, что:

  • указано верное количество знаков табуляции в структуре файла;
  • строковые значения, содержащие знак табуляции, заключены в кавычки" ".
"code": "VALUE_REQUIRED", "message": "Value must be present and not equal to null"
Не указано значение обязательного поля входных данных.

Проверьте, что заполнены все столбцы с обязательными полями входных данных.

"code": "INVALID_URL_SYNTAX", "message": "Value must be in valid url format"
Данные в поле с типом «ссылка» («url») некорректны.
Проверьте, что:
"exception_msg": "unexpected end of file while reading quoted column beginning on line 2 and ending on line 4"

В строке стоит непарная кавычка.

Проверьте, что все кавычки экранированы.