Data merge: Data Merge в inDesign | Max Vetkov
Data Merge в inDesign | Max Vetkov
Как и любой представитель человечества, я стараюсь как можно меньше времени тратить на рутинную работу и как можно больше думать головой. В моём случае под механической работой подразумевается верстка каталогов, визиток, буклетов, ценников, сертификатов и прочей шаблонной полиграфии. Обычно вышеперечисленные форматы имеют готовый дизайн, и нужно просто изменить текст/картинки. В inDesign есть для этого замечательная функция Data Merge. Освоим её, выполнив упражнения по вёрстке большого количества простеньких визиток.
Общий процесс:
1. Создаете источник базы в экселе или другом редакторе.
2. Сохраняете файл в Юникоде *.txt, вариант с tab-delimited.
3. В Индизайне создаете универсальный макет.
4. Загружаете текстовой файл с данными через Select Data Source. Настраиваете красивости.
5. Экспортируете в pdf из меню Data Merge. Получаете многостраничный PDF.
Создадим простой шаблон визитки в InDesign с тремя текстовыми фреймами и одним фреймом для картинки: имя, должность, телефон, для картинки рисуем пустой блок с помощью инструмента «Rectangle Frame Tool».
Далее переходим в Excel, создаём очень простенькую таблицу с данными. Пока что сами, в дальнейшем это за вас должен будет делать либо клиент, либо это будет экспорт из базы данных.
Обратите внимание: нельзя использовать символ «запятая (,)». Для InDesign это будет означать разделитель. Такое поведение можно поменять в настройках ОС, но изменения затронут всю систему. Если вам нужна запятая, то замените запятую на любой другой символ (например, смайлик ☺), и после сборки файла произведите автозамену символа. В учебном примере я использую самый простой и надежный способ, экспортирую файл с табуляцией в качестве разделителя (.txt) в UTF-8.
В таблице не должно быть пустых строк и столбцов. Для изображений необходимо указать полный путь до картинки, вида C:\Job\15\InDesign\Links\realFoot.jpg, и имя заголовка столбца для изображений должно начинаться с символа @. Excel может ругаться сообщением «неверная функция», нужно переустановить тип ячейки в текстовой тип: напишите символ ‘ перед @, его не должно быть видно после окончания редактирования заголовка.
Если у вас проблемы с правильным путем до картинки, до убедитесь, что путь соответствует вашей операционной системе. Если изображения хранятся на сервере и получить правильный путь проблематично, есть простой способ скопировать правильный путь: закидываете в inDesign одну картинку из папки, в которой хранятся нужные изображения. Открываете панель Link
, выбираете картинку, выполняете команду Copy Info -> Copy Platform Style Path. Теперь правильный путь с учетом платформы у вас в буфере обмена.
Внеся данные, сохраняем документ в формат «CSV (разделители—запятые)», закрываем эксель, открываем вновь созданный файл Блокнотом, т.к. дальнейшая работа ведется с .txt, у которого разделители—табуляция. На данном этапе уже можно заменить ваши символы, которые вы использовали вместо запятых, на полноценные запятые. Символ двоеточия (;) тоже необходимо заменить на запятые. Если inDesign отказывается работать с полученным файлом, и вы уверены, что в .csv нет специальных символов, то пересохраните файл без кодировки.
Из возможных проблем: у Excel по умолчанию кодировка файла CP1251, поэтому при итерациях редактирования файла надо задавать кодировку CP1251 и разделитель точку с запятой. Тогда .csv будет открываться корректно. Это также завязано на локализацию системы. Минимизировать потенциальные проблемы можно используя вместо Excel для просмотра .csv специализированный софт: CSVEdit, Sublime Text, Apache OpenOffice, TextEdit или Notepad. Часто помогает открыть .csv файл простым блокнотом и убедиться, что в конце строк нет лишних запятых.
Итак, все возможные проблемы учтены, сохраняем файл как обычный текстовой документ, кодировка файла unicode. Это стандарт, который содержит информацию о том, в каком месте таблицы символов расположен определенный символ. Иногда вам будут лгать, что кодировка должна быть ANSI, не слушайте. Вас пытаются ввести в заблуждение, InDesign не распознаёт русские символы в ANSI. Сверьте настройки сохранения с картинкой ниже:
Возвращаемся в InDesign: Windows -> Automation/utilities -> DataMerge.
При первой попытке работы с Data Merge нужно посмотреть настройки импорта. Для этого существует специальная галочка Show Import Options. Дело в том, что inDesign запомнит, что было импортировано и с какими настройками. Если вы решите использовать другие разделители или кодировки, эту галочку нужно поставить повторно и все перенастроить.
Delimiter отвечает за разделитель. Если вы собираетесь импортировать .CSV, то выберите «Comma». В нашем случае выбран «Tab», т.к. импортируем .txt. Encoding это кодировка, выбор стоит между «ASCII» или «Unicode». При неправильно выбранной кодировке файл все равно будет импортирован без уведомления о проблемах, но часть символов будет распознана неправильно. Platform достаточно очевиден, «PC» или «Mac», в зависимости от системы, на которой вы работаете. Дополнительно есть возможность сохранить все пробелы, Preserve Spaces in Data Source, выберите эту опцию, если вам это нужно.
В появившемся окне выбираем пункт «Select Data Source…», и выбираем наш .txt файл. Файл с данными не должен быть открыт ни в каком другом софте. В окне DataMerge появятся заголовки, которые можно простым drag&drop перетащить на наши заранее созданные поля в визитке. Если всё пройдёт успешно, то заголовок поля на нашей визитке встанет в двойные угловые скобки, как на картинке ниже. Успешно подставленные данные отображаются между символами <<>> (если эти символы есть в шрифте). Что бы убедиться в правильности результата, нажмите в окне DataMegre кнопку preview, у вас должны появиться данные из таблицы на визитке.
Следующим шагом будет пункт Create Merged Document…». Откроется окно, в котором нужно поставить напротив пункта Records per Document Page значение «Multiple Record», это позволит сделать сразу несколько визиток на одной странице.
На второй вкладке расставляем отступы. Есть текст больше, чем заготовленное текстовое поле, то Data Megre вставит текст на следующую страницу по последовтаельности, выбранной нами. Есть возможность создать отчет об недостающих изображениях и указать правила позиционирования. Всего 5 вариантов размещения изображений:
- Fit Images Proportionally – уместить изображение внутри Rectangle Frame с сохранением пропорций.
- Fit Images to Frames – пропорции не сохраняются, изображение вставляется в ширину и высоту Rectangle Frame.
- Fit Frames to Images – сохранение оригинального размера изображения с соответствующим подгоном размера фрейма.
- Preserve Frame and Image Sizes – сохранение оригинального размера изображения, но не меняет размер фрейма.
- Fill Frame Proportionally – пропорционально масштабирует изображение, пока не будет заполнен фрейм.
Я в большинстве случаев выбираю Fill Frame Proportionally, и не забываем отметить чекбокс Link images.
И, в общем то, всё, осталось нажать кнопку ОК и экспортировать результат в нужный формат. Для конференций часто требуется экспорт документов в раздельные файлы, с указанием имени файла, для этого отлично подходит скрипт Data Merge to unique names. Как вы понимаете, данный подход поможет вам сверстать не только визитки, но и любую другую полиграфическую продукцию. Ваш исходник не одноразовый, вы можете вносить изменения в файл данных Excel и обновлять их inDesign. Удачи!
Графические переменные данные в InDesign (Data Merge)
Я уже рассказывал о том как проставить в индизайне текстовые переменные данные на примере нумерации карточек в статье «Автоматическая нумерация карточек в Indesign». Но что делать если требуется проставить по мимо текстовых переменных еще и графические? В этой статье я покажу как проставить штрих-кода в формате картинок в количестве 100 штук. Поняв как как работает вставка графических переменных данных в Indesign вас не испугает любое количество персонализированных бейджей, пропусков с фотографией человека, дисконтных карточек с штрих кодом, сертификатов и т.д.
Для примера я взял дисконтные карточки с нумерацией и уникальным штрих-кодом. Для выполнения данной операции потребуется InDesign, Microsoft Excel, Total Commander, блокнот, штрих-кода в любом графическом формате желательно — .TIFF. Теперь обо всем по порядку:
1. О том как создать штрих-кода можно почитать здесь. После того, как они созданы нужно подготовить изображения, чтобы они были в одинаковом формате и одинаковом размере. А также название файликов должно быть одинаковым, отличаться они будут только порядковым номером в конце — Shtrih-kod_0001.tiff, Shtrih-kod_0002.tiff, Shtrih-kod_0003.tiff… (С быстрым автоматическим переименованием, а также проставлением нумерации в названии файликов, справиться программа Total Commander — Файл/Групповое переименование…)
2. Подготавливаем базу данных для InDesign в Microsoft Excel. В первой колонке я задаю нумерацию, а во второй полные ссылки на фалы с разрешением (обязательно в названии колонки с ссылками на изображение нужно поставить символ — @). После завершения подготовки ссылок на изображения нужно сохранить его в формате «текстовые файлы (с разделителями табуляции)», и обязательно закрыть Excel!
3. Переходим в Indesign и выбираем — Window/Automation/Data merge… В появившемся окошке загружаем полученный файл. В первой строке у меня стоит изображение текста (нумерация), во втором — изображение картинки (штрих-кода). Перетаскиваю их на соответствующие фреймы и задаю нужные настройки раскладки. Жму ОК. Раскладка готова!
Вот результат:
Видео урок «графические переменные данные в InDesign»:
(Visited 8 931 times, 9 visits today)
Работа с Data Merge в Adobe InDesign CS2 | Эффективная работа в Adobe InDesign
Data Merge – это функция в Adobe InDesign для работы с переменными данными. Упрощает работу с бейджами, визитками, именными дипломами, грамотами, а также с нумерованной продукцией. Впервые появилась в версии программы CS2 и с тех пор по настоящее время больших изменений не претерпела (в ID CS4 в выпадающем меню панели Data Merge появилась команда Export to PDF, позволяющая сразу создавать PDF-файл с объединёнными данными, исключив промежуточный этап создания документа InDesign и экспорта в PDF).
Как это работает
Рассмотрим пример, когда изменяются номер, имя и фото.
Для начала нужно создать базу данных, например в MS Excel.
В первой строке пишем имена переменных, для номера – Number, для имени Name, для фамилии — Surname.
Для фото перед именем переменной необходимо поставить знак апострофа и ”собаку” — ‘@img
(В имени переменных не желательно использовать кирилические символы).
Далее заполняем колонки нужными данными.
Сохраняем документ как Unicode Text.
Желательно все фото собрать в одну папку и там же сохранить базу.
В противном случае путь к каждому имджу должен быть полный!
Далее, в InDesign в документе с макетом открываем Data Merge (Window->Automation->Data Merge). Подгружаем созданную базу (Select Data Source).
Следующий шаг это расстановка переменных полей в макете.
Текст:
Ставим курсор в тот текстовый фрейм где должна находится переменная и кликаем по нужной нам переменной в меню Data Merge. После чего во фреймах появятся имена переменных в тегах (<<Number>>, <<Name>>, <<Surname>>).
Фото:
Выбираем графический фрейм и так же кликаем по переменной img. Во фрейме получаем <<img>>
Теперь остается задать тексту нужное форматирование (при форматировании лучше каждой переменной задать свой Paragraph или Character Style) и документ готов к работе.
Панель Data Merge
Основная панель
Панель Create Meged Document, вкладка Records
Records To Merge
All Records – Все записи
Single Record – Одна запись
Range – Диапазон записей (1,5,7-9)
Records per Document Page
Single Record – Одна запись на листе (без раскладки)
Multiple Record – Раскладка на лист нескольких записей. (Количество объектов расчитывается относительно внутренних полей документа.)
Панель Create Meged Document, вкладка Multiple Record Layout
* Поля документа
При Multiple Record раскладка объекта зависит от внутренних полей (Margins). Для того чтоб объекты «легли» правильно, необходимо правильно задать эти поля.
В данном случае мы имеем объект 92х52, лист А4 (Portrait).
На листе получаем 10 объектов: 2 колонки и 5 рядов.
Левое поле: (210 – 92 х 2) / 2 = 13 mm
Верхнее поле: (297 – 52 х 5) / 2 = 18.5 mm
Правое поле: 13(Левое поле) – 1 = 12 mm
Нижнее поле: 18.5(Верхнее поле) – 1 = 17.5 mm
В этом случае общая раскладка объектов будет по центру страницы
(Метки реза заранее ставятся на мастер странице)
Панель Create Meged Document, вкладка Options
Все. Убедившись что все настройки правильные, жмем ОК и получаем новый документ с готовыми бейджами.
Примечания:
Multiple Record не работает с многостраничным документом.
На странице при Multiple Record должен быть только макет.
Материал подготовил Евгений Карев
Дополнительно об этой функции Индизайна:
Post Views:
411
Pandas Урок — методы merge, sort, reset_index и fillna
Это третья часть руководства по pandas, в которой речь пойдет о методах форматирования данных, часто используемых в проектах data science: merge
, sort
, reset_index
и fillna
. Конечно, есть и другие, поэтому в конце статьи будет шпаргалка с функциями и методами, которые также могут пригодиться.
Примечание: это руководство, поэтому рекомендуется самостоятельно писать код, повторяя инструкции!
Merge в pandas («объединение» Data Frames)
В реальных проектах данные обычно не хранятся в одной таблице. Вместо нее используется много маленьких. И на то есть несколько причин. С помощью нескольких таблиц данными легче управлять, проще избегать «многословия», можно экономить место на диске, а запросы к таблицам обрабатываются быстрее.
Суть в том, что при работе с данными довольно часто придется вытаскивать данные из двух и более разных страниц. Это делается с помощью merge
.
Примечание: хотя в pandas это называется merge
, метод почти не отличается от JOIN
в SQL.
Рассмотрим пример. Для этого можно взять DataFrame zoo
(из предыдущих частей руководства), в котором есть разные животные. Но в этот раз нужен еще один DataFrame — zoo_eats
, в котором будет описаны пищевые требования каждого вида.
Теперь нужно объединить два эти Data Frames в один. Чтобы получилось нечто подобное:
Подписывайтесь на телеграм каналы
В этой таблице можно проанализировать, например, сколько животных в зоопарке едят мясо или овощи.
Как делается merge?
В первую очередь нужно создать DataFrame zoo_eats
, потому что zoo
уже имеется из прошлых частей. Для упрощения задачи вот исходные данные:
animal;food
elephant;vegetables
tiger;meat
kangaroo;vegetables
zebra;vegetables
giraffe;vegetables
О том, как превратить этот набор в DataFrame, написано в первом уроке по pandas. Но есть способ для ленивых. Нужно лишь скопировать эту длинную строку в Jupyter Notebook pandas_tutorial_1
, который был создан еще в первой части руководства.
zoo_eats = pd.DataFrame([['elephant','vegetables'], ['tiger','meat'], ['kangaroo','vegetables'], ['zebra','vegetables'], ['giraffe','vegetables']], columns=['animal', 'food'])
И вот готов DataFrame zoo_eats
.
Теперь пришло время метода merge:
zoo.merge(zoo_eats)
(А где же все львы? К этому вернемся чуть позже).
Это было просто, не так ли? Но стоит разобрать, что сейчас произошло:
Сначала был указан первый DataFrame (zoo
). Потом к нему применен метод .merge()
. В качестве его параметра выступает новый DataFrame (zoo_eats
). Можно было сделать и наоборот:
zoo_eats.merge(zoo)
Это то же самое, что и:
zoo.merge(zoo_eats)
Разница будет лишь в порядке колонок в финальной таблице.
Способы объединения: inner, outer, left, right
Базовый метод merge
довольно прост. Но иногда к нему нужно добавить несколько параметров.
Один из самых важных вопросов — как именно нужно объединять эти таблицы. В SQL есть 4 типа JOIN.
В случае с merge
в pandas в теории это работает аналогичным образом.
При выборе INNER JOIN (вид по умолчанию в SQL и pandas) объединяются только те значения, которые можно найти в обеих таблицах. В случае же с OUTER JOIN объединяются все значения, даже если некоторые из них есть только в одной таблице.
Конкретный пример: в zoo_eats
нет значения lion
. А в zoo
нет значения giraffe
. По умолчанию использовался метод INNER, поэтому и львы, и жирафы пропали из таблицы. Но бывают случаи, когда нужно, чтобы все значения оставались в объединенном DataFrame. Этого можно добиться следующим образом:
zoo.merge(zoo_eats, how='outer')
В этот раз львы и жирафы вернулись. Но поскольку вторая таблица не предоставила конкретных данных, то вместо значения ставится пропуск (NaN
).
Логичнее всего было бы оставить в таблице львов, но не жирафов. В таком случае будет три типа еды: vegetables
, meat
и NaN
(что, фактически, значит, «информации нет»). Если же в таблице останутся жирафы, это может запутать, потому что в зоопарке-то этого вида животных все равно нет. Поэтому следует воспользоваться параметром how='left'
при объединении.
Вот так:
zoo.merge(zoo_eats, how='left')
Теперь в таблице есть вся необходимая информация, и ничего лишнего. how = 'left'
заберет все значения из левой таблицы (zoo
), но из правой (zoo_eats
) использует только те значения, которые есть в левой.
Еще раз взглянем на типы объединения:
Примечание: «Какой метод merge является самым безопасным?» — самый распространенный вопрос. Но на него нет однозначного ответа. Нужно решать в зависимости от конкретной задачи.
Merge в pandas. По какой колонке?
Для использования merge
библиотеке pandas нужны ключевые колонки, на основе которых будет проходить объединение (в случае с примером это колонка animal
). Иногда pandas не сможет распознать их автоматически, и тогда нужно указать названия колонок. Для этого нужны параметры left_on
и right_on
.
Например, последний merge мог бы выглядеть следующим образом:
zoo.merge(zoo_eats, how = 'left', left_on='animal', right_on='animal')
Примечание: в примере pandas автоматически нашел ключевые колонки, но часто бывает так, что этого не происходит. Поэтому о
left_on
иright_on
не стоит забывать.
Merge в pandas — довольно сложный метод, но остальные будут намного проще.
Сортировка в pandas
Сортировка необходима. Базовый метод сортировки в pandas совсем не сложный. Функция называется sort_values()
и работает она следующим образом:
zoo.sort_values('water_need')
Примечание: в прошлых версиях pandas была функция
sort()
, работающая подобным образом. Но в новых версиях ее заменили наsort_values()
, поэтому пользоваться нужно именно новым вариантом.
Единственный используемый параметр — название колонки, water_need
в этом случае. Довольно часто приходится сортировать на основе нескольких колонок. В таком случае для них нужно использовать ключевое слово by
:
zoo.sort_values(by=['animal', 'water_need'])
Примечание: ключевое слово
by
можно использовать и для одной колонкиzoo.sort_values(by = ['water_need']
.
sort_values
сортирует в порядке возрастания, но это можно поменять на убывание:
zoo.sort_values(by=['water_need'], ascending=False)
reset_index()
Заметили ли вы, какой беспорядок теперь в нумерации после последней сортировки?
Это не просто выглядит некрасиво… неправильная индексация может испортить визуализации или повлиять на то, как работают модели машинного обучения.
В случае изменения DataFrame нужно переиндексировать строки. Для этого можно использовать метод reset_index()
. Например:
zoo.sort_values(by=['water_need'], ascending=False).reset_index()
Можно заметить, что новый DataFrame также хранит старые индексы. Если они не нужны, их можно удалить с помощью параметра drop=True
в функции:
zoo.sort_values(by = ['water_need'], ascending = False).reset_index(drop = True)
Fillna
Примечание: fillna — это слова fill( заполнить) и na(не доступно).
Запустим еще раз метод left-merge:
zoo.merge(zoo_eats, how='left')
Это все животные. Проблема только в том, что для львов есть значение NaN
. Само по себе это значение может отвлекать, поэтому лучше заменять его на что-то более осмысленное. Иногда это может быть 0
, в других случаях — строка. Но в этот раз обойдемся unknown
. Функция fillna()
автоматически найдет и заменит все значения NaN
в DataFrame:
zoo.merge(zoo_eats, how='left').fillna('unknown')
Примечание: зная, что львы едят мясо, можно было также написать
zoo.merge(zoo_eats, how='left').fillna('meat')
.
Проверьте себя
Вернемся к набору данных article_read
.
Примечание: в этом наборе хранятся данные из блога о путешествиях. Загрузить его можно здесь. Или пройти весь процесс загрузки, открытия и установки из первой части руководства pandas.
Скачайте еще один набор данных: blog_buy
. Это можно сделать с помощью следующих двух строк в Jupyter Notebook:
!wget https://pythonru.com/downloads/pandas_tutorial_buy.csv
blog_buy = pd.read_csv('pandas_tutorial_buy.csv', delimiter=';', names=['my_date_time', 'event', 'user_id', 'amount'])
Набор article_read
показывает всех пользователей, которые читают блог, а blog_buy
— тех, купил что-то в этом блоге за период с 2018-01-01 по 2018-01-07.
Два вопроса:
- Какой средний доход в период с
2018-01-01
по2018-01-07
от пользователей изarticle_read
? - Выведите топ-3 страны по общему уровню дохода за период с
2018-01-01
по2018-01-07
. (Пользователей изarticle_read
здесь тоже нужно использовать).
Решение задания №1
Средний доход — 1,0852
Для вычисления использовался следующий код:
step_1 = article_read.merge(blog_buy, how='left', left_on='user_id', right_on='user_id')
step_2=step_1.amount
step_3=step_2.fillna(0)
result=step_3.mean()
result
Примечание: шаги использовались, чтобы внести ясность. Описанные функции можно записать и в одну строку.`
Краткое объяснение:
- На скриншоте также есть две строки с импортом pandas и numpy, а также чтением файлов csv в Jupyter Notebook.
- На шаге №1 объединены две таблицы (
article_read
иblog_buy
) на основе колонкиuser_id
. В таблицеarticle_read
хранятся все пользователи, даже если они ничего не покупают, потому что ноли (0
) также должны учитываться при подсчете среднего дохода. Из таблицы удалены те, кто покупали, но кого нет в набореarticle_read
. Все вместе привело к left-merge. - Шаг №2 — удаление ненужных колонок с сохранением только
amount
. - На шаге №3 все значения
NaN
заменены на0
. - В конце концов проводится подсчет с помощью
.mean()
.
Решение задания №2
step_1 = article_read.merge(blog_buy, how = 'left', left_on = 'user_id', right_on = 'user_id')
step_2 = step_1.fillna(0)
step_3 = step_2.groupby('country').sum()
step_4 = step_3.amount
step_5 = step_4.sort_values(ascending = False)
step_5.head(3)
Найдите топ-3 страны на скриншоте.
Краткое объяснение:
- Тот же метод
merge
, что и в первом задании. - Замена всех
NaN
на0
. - Суммирование всех числовых значений по странам.
- Удаление всех колонок кроме
amount
. - Сортировка результатов в убывающем порядке так, чтобы можно было видеть топ.
- Вывод только первых 3 строк.
Итого
Это был третий эпизод руководства pandas с важными и часто используемыми методами: merge, sort, reset_index
и fillna
.
Объединение данных — Часть 2
На прошлой неделе я начал серию статей об использовании мощной функции слияния данных InDesign. После описания того, что может делать слияние данных, я описал файлы источников данных, которые он может использовать. Во второй части я покажу, как создать целевой документ — документ InDesign, в который будут перетекать данные, и как связать данные с документом и предварительно просмотреть результаты.
Сначала я создам макет карточки-напоминания для нашей воображаемой ветеринарной больницы. Эта карточка была создана с напечатанным обрезным размером и содержала стандартную информацию, которая не изменяется (например, логотип и текст карточки), и заполнители для полей данных.При создании карты я поставил «XX» везде, где будут вставлены текстовые данные. Чтобы создать рамку для изображения питомца, я просто создал графическую рамку-заполнитель с помощью инструмента Rectangle Frame.
Далее я выбрал источник данных. Для этого я открыл палитру слияния данных («Окно»> «Автоматизация»> «Слияние данных»). При первом открытии палитра показывает основные инструкции по ее использованию. Я выбрал «Выбрать источник данных» в меню палитры и выбрал файл источника данных, который мы создали в части 1.
Палитра должна быть заполнена именами полей данных, соответствующими заголовкам столбцов (верхняя строка) исходного файла. Иногда вы можете получить сообщение об ошибке: «В источнике данных есть одно или несколько пустых имен полей…». Это означает, что в вашем источнике данных могут быть дополнительные пустые столбцы; они должны быть удалены, прежде чем слияние данных сможет их использовать. Это может легко произойти, если вы используете Microsoft Word в качестве текстового редактора, где символы табуляции не всегда видны. Вернитесь в текстовый редактор или Microsoft Excel, чтобы удалить их при необходимости.
Затем я переместил имена полей данных в шаблон макета. Вы можете либо щелкнуть точку вставки в текстовом фрейме (я выделил заполнители XX) и дважды щелкнуть имя поля данных, либо перетащить имя поля данных на место. Поля данных появятся в тексте в двойных угловых скобках.
Для текста вы можете использовать все атрибуты символа, абзаца или рамки InDesign для их форматирования, включая стили абзаца, символа и объекта.Как видно на карточке, имена полей данных не обязательно должны быть в каком-либо определенном порядке и могут повторяться при необходимости. Добавьте запятые, пробелы или любое необходимое форматирование.
Если вы хотите связать графическое изображение, просто перетащите имя графического поля из палитры на графический фрейм заполнителя, и его имя должно появиться.
Обработка переменных изображений. Работа с переменными изображениями требует немного большей подготовки: если вы помните из части 1, было одно поле для «pet_image».Чтобы указать для слияния данных, что это поле является графическим, его имени должен предшествовать символ «@»? В данном случае «@pet_image».
В каждой последующей строке запись должна содержать путь, по которому InDesign может найти изображение. Самый простой способ справиться с этим — поместить изображения в ту же папку, что и файл источника данных. В моем примере в одной папке находились три изображения: OrangeCat.jpg, CuteDog.jpg и LoveBird.jpg. Если у вас есть графика в другом месте, в поле потребуется точный путь на вашем компьютере к графике в формате, соответствующем вашей операционной системе:
Mac: Macintosh HD: Фотографии: OrangeCat.jpg
Windows: c: \ Photo \ OrangeCat.jpg
Предварительный просмотр вашего макета. Затем я предварительно просмотрел данные, установив флажок «Предварительный просмотр» в нижней части палитры, а затем использовал кнопки навигации для перемещения вперед и назад по записям.
Для этого есть несколько веских причин:
- Для поиска записей, не умещающихся в созданном вами фрейме (например, длинное имя, которое вы не ожидали). Рамка должна быть достаточно большой, чтобы выдержать самый большой элемент в выбранном вами форматировании.
- Искать другие ошибки в данных. Сюда могут входить дополнительные табуляторы или запятые (это показывает, где нужные данные находятся в неправильном месте) или данные с заглавной буквы, когда это не должно быть (вы не проверяли файл источника данных перед его использованием).
Как правило, лучше устранять подобные проблемы в файле источника данных, а не в файле InDesign.
В следующем выпуске мы обсудим, как объединить целевой документ (макет) с файлом источника данных для создания объединенного документа.
Стив Вернер — инструктор, консультант и соавтор (вместе с Дэвидом Блатнером и Кристофером Смитом) InDesign для пользователей QuarkXPress и перехода на InDesign. Он проработал в полиграфической индустрии более 20 лет и в течение 10 лет был менеджером по обучению в Rapid Lasergraphics. С 1988 года преподает уроки компьютерной графики.
.
Использование главных страниц с объединением данных — видеоурок по InDesign
Обзор
Стенограммы
Файлы упражнений
Просмотр в автономном режиме
Детали курса
Столкнувшись с большим объемом информации, задача дизайнера состоит в том, чтобы сделать ее ясной и легкой для понимания.Adobe InDesign может помочь. С помощью команды «Объединение данных» вы можете брать необработанные данные из электронных таблиц или баз данных и быстро применять форматирование с помощью шаблона InDesign. В этом курсе автор Дэвид Блатнер познакомит вас с возможностями слияния данных в InDesign, двумя примерами проектов (теги имен и каталог) и некоторыми сторонними решениями, которые расширяют возможности InDesign по обработке данных.
Инструктор
Дэвид Блатнер
Соведущий CreativeProWeek.com и InDesignSecrets.com, Дэвид Блатнер — востребованный спикер и автор.
Дэвид Блатнер является автором или соавтором 15 книг, включая Real World InDesign , Real World Photoshop и Spectrums: Наша ошеломляющая Вселенная от бесконечно малой до бесконечности . Соучредитель InDesign Magazine и соавтор CreativePro.com, Дэвид выступал на конференциях и семинарах в Северной Америке, Европе, Австралии, Новой Зеландии, Японии и Южной Африке.Вы можете узнать больше о Дэвиде на www.63p.com.
Узнать больше
Видеть меньше
Навыки, описанные в этом курсе
Зрители этого курса
5196 человек смотрели этот курс
Что они делают
Специалист по печати, консультант, специалист по маркетинговым коммуникациям и владелец бизнеса
Добро пожаловать
«
У меня открыт листок 2 моего курса.В конце последнего фильма, после того как я внес кучу изменений, я просто вернулся в меню «Файл» и выбрал «Вернуть». Таким образом, он вернулся к исходному состоянию этого документа флаера 2 курса. Теперь вы, вероятно, знаете, что в целом в InDesign, если у вас есть что-то, что будет повторяться на каждой странице, вам, вероятно, следует поместить это на главную страницу. Но, как оказалось, главные страницы действительно важны, когда вы начинаете работать с слиянием данных. Итак, в этом файле я разместил несколько вещей на главной странице.Давайте посмотрим на это. Здесь, в меню панели «Страницы», я могу дважды щелкнуть по мастеру и увидеть, что на этой странице у меня есть несколько вещей. У меня есть это фоновое изображение, мой логотип, синяя полоса и так далее. Если я помещу их на саму страницу документа, то они будут дублироваться для каждой страницы, которую я создаю в объединенном документе, и это будет означать чертовски большой файл. Это также может привести к гораздо более длительной печати …
Практикуйтесь во время обучения с файлами упражнений
Загрузите файлы, которые инструктор использует для проведения курса.Следуйте инструкциям и учитесь, наблюдая, слушая и практикуя.
Скачивайте курсы и учитесь на ходу
Смотрите курсы на мобильном устройстве без подключения к Интернету. Загрузите курсы с помощью приложения LinkedIn Learning для iOS или Android.
.
r — Как выполнить операцию слияния data.table
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
Как использовать функцию merge () с наборами данных в R
- Программирование
- R
- Как использовать функцию merge () с наборами данных в R
Andrie de Vries, Joris Meys
В R вы используете функцию merge () для объединения фреймов данных. Эта мощная функция пытается идентифицировать столбцы или строки, которые являются общими для двух разных фреймов данных.
Как использовать слияние, чтобы найти пересечение данных
Простейшая форма merge () находит пересечение между двумя разными наборами данных.Другими словами, чтобы создать фрейм данных, который состоит из холодных и больших состояний, используйте версию merge () по умолчанию:
> объединить (холодные. Состояния, большие. Состояния) Название Frost Area 1 Аляска 152 566432 2 Колорадо 166 103766 3 Монтана 155 145587 4 Невада 188 109889
Если вы знакомы с таким языком баз данных, как SQL, вы, возможно, догадались, что функция merge () очень похожа на соединение с базой данных. Это действительно так, и различные аргументы функции merge () позволяют выполнять естественные соединения, а также левые, правые и полные внешние соединения.
Функция merge () принимает довольно большое количество аргументов. Эти аргументы могут выглядеть довольно устрашающе, пока вы не поймете, что они образуют меньшее количество связанных аргументов:
x : Кадр данных.
y : Кадр данных.
по , по x , по y : Имена столбцов, общие для x и y.По умолчанию в двух фреймах данных используются столбцы с общими именами.
all, all.x, all.y : Логические значения, определяющие тип слияния. Значение по умолчанию all = FALSE (это означает, что возвращаются только совпадающие строки).
Последняя группа аргументов — all, all.x и all.y — заслуживает некоторого пояснения. Эти аргументы определяют тип слияния, которое произойдет.
Как понять различные типы слияния
Функция merge () позволяет объединять данные четырьмя способами:
Естественное соединение: Чтобы сохранить только строки, соответствующие кадрам данных, укажите аргумент all = FALSE.
Полное внешнее соединение: Чтобы сохранить все строки из обоих фреймов данных, укажите all = TRUE.
Левое внешнее соединение: Чтобы включить все строки фрейма данных x и только совпадающие строки из y, укажите all.x = TRUE.
Правое внешнее соединение: Чтобы включить все строки вашего фрейма данных y и только совпадающие строки из x, укажите all.y = TRUE.
Как найти соединение (полное внешнее соединение)
Возвращаясь к примерам U.S. утверждает, что для полного слияния холодного и большого состояний используйте слияние и укажите all = TRUE:
> объединить (cold.states, large.states, all = TRUE) Название Frost Area 1 Аляска 152 566432 2 Аризона NA 113417 3 Калифорния NA 156361 .... 13 Техас NA 262134 14 Вермонт 168 NA 15 Вайоминг 173 NA
Оба фрейма данных имеют имя переменной, поэтому R сопоставляет случаи на основе имен состояний. Переменная Frost берется из фрейма данных cold.states, а переменная Area — из фрейма данных большого размера.состояния.
Обратите внимание, что это выполняет полное слияние и заполняет столбцы значениями NA, где нет совпадающих данных.
Об авторе книги
Андри де Врис — ведущий эксперт по R и директор по бизнес-услугам Revolution Analytics. Обладая более чем 20-летним опытом, он предоставляет консультационные и обучающие услуги по использованию R. . Джорис Мейс — статистик, R-программист и преподаватель R факультета биоинженерии в Гентском университете.
.