Импорт книг
Загрузите таблицу, экспорт из другого приложения — Goodreads, StoryGraph, LibraryThing, Readerware или собственный — либо файл MARC и посмотрите, что перенеслось.
Импорт целой полки (CSV)
Импорт загружает таблицу с книгами за один раз — это удобно, когда вы переезжаете из другого приложения для каталогизации или из собственной таблицы. Экспорт из Goodreads, StoryGraph, LibraryThing и Readerware распознаётся автоматически, и их столбцы сопоставляются за вас. Подойдёт и любой другой файл, в том числе экспорт из CLZ Books, столбцы которого вы выбираете сами при экспорте: вы сопоставите свои столбцы за один шаг (обязательно только название; авторы, ISBN, издательство, год, число страниц, цена, номер по Дьюи, классификация Library of Congress, шифр хранения и язык — по желанию; столбцы «Dewey» и «Call_Number» распознаются по названию, как и столбец «Language», если его заголовок написан по-английски, по-гречески или по-русски). Язык сохраняется в виде двухбуквенного кода независимо от того, что написано в ячейке: «Greek», «Ελληνικά», «el» или «gre»; значение, которое не соответствует ни одному известному нам языку, остаётся пустым, а не сохраняется в том виде, как записано. Если в вашей библиотеке заданы пользовательские поля, то любой столбец, названный по одному из них, переносится в это поле у каждого экземпляра, созданного при импорте, — именно так наш собственный CSV-экспорт возвращает свои пользовательские столбцы при повторном импорте.
- Выгрузите список из другого приложения (Goodreads: My Books → Import and export → Export Library; StoryGraph: Manage Account → Export Library; LibraryThing: More → Import/Export; Readerware: File → Export, TAB delimited или CSV with quotes, с включёнными параметрами quotes и header line). Экспорт из LibraryThing и Readerware разделён табуляцией — загружайте его как есть.
- Загрузите файл на странице импорта: «Моя библиотека» → «Инструменты библиотеки» → «Книги» → «Импорт книг».
- Для файлов Goodreads и StoryGraph выберите, какие полки или статусы чтения переносить («to-read» по умолчанию не включается, потому что эти книги у вас ещё не появились). А файл Readerware вместо этого показывает заранее, сколько строк станут записями списка желаний, выдачами или получат статус, отличный от Own.
- Проверьте первые несколько книг на шаге подтверждения — название, авторы и ISBN в точности так, как они будут сохранены. Именно здесь видно, что столбец сопоставлен не с тем полем или что буква прочитана в неверной кодировке, пока исправить это ничего не стоит. Если файл записан не в UTF-8, страница сообщает, какую кодировку она предположила, показывает три названия и автора в том виде, как их прочитала, и позволяет выбрать другую кодировку — образец сразу меняется.
- Выберите, как поступать с книгами, которые у вас уже есть: пропускать их (рекомендуется) или добавлять импортируемую запись как ещё один экземпляр. Значение Copies в строке Readerware пропускается или добавляется целиком.
- Когда импорт завершится, просмотрите отчёт: совпавшие, вновь созданные, пропущенные и неудавшиеся строки, а также — если файл содержал соответствующие данные — дополнительные экземпляры, записи списка желаний, выдачи, метки, созданные полки, строки по каждому статусу Readerware, строки с непрочитанными значениями, строки, где таблица изменила ISBN, коды, которые мы не искали, строки, не совпавшие с заголовком по числу столбцов, и столбцы, которые не были перенесены.
Если кнопка импорта недоступна, причина указана рядом с ней. Чаще всего ни один столбец не сопоставлен с названием — выберите его в списке столбцов, который предлагается даже для распознанного файла, — или ничего не выбрано для импорта. Нового файла требует лишь один случай: CSV, экспортированный без кавычек вокруг полей. Запятая внутри ячейки, например в авторе «Strindberg, August», сдвигает все следующие значения на один столбец, поэтому мы считаем такие строки и останавливаемся, а не раскладываем ваши книги по неверным полям. Экспортируйте файл заново с включёнными кавычками или с разделителем табуляцией. Несколько таких строк импорт не останавливают: они пропускаются и перечисляются в отчёте с номерами строк.
Если открыть экспорт в Excel или другой таблице и сохранить снова, ISBN могут незаметно измениться: длинный номер записывается как 9.78E+12, и цифры потеряны, а ведущий ноль отбрасывается. Такие книги всё равно импортируются, но без ISBN, а шаг подтверждения и отчёт сообщают, сколько строк затронуто. Ничего не угадывается заново: экспортируйте файл снова из исходного приложения и импортируйте его, не открывая, либо добавьте ISBN позже на странице книги.
В столбце ISBN иногда оказывается код, не являющийся ISBN, — например, ценник магазина или штрихкод товара. Штрихкод товара сохраняется как UPC книги, а любой другой код сохраняется в точности как записан под названием «Другой код (не ISBN)» в сведениях о книге. Ни тот, ни другой не ищется и не сопоставляется как ISBN, поэтому не может подтянуть не ту книгу. ISBN с несходящейся контрольной цифрой сохраняется как ISBN, чтобы вы его проверили, но тоже не ищется: в ответ пришло бы ничего или другая книга. Отчёт перечисляет все такие строки в разделе «Коды, которые мы не искали» — с номером строки, кодом в том виде, как он записан, и причиной, — а код можно исправить на странице книги (см. «Добавление недостающего ISBN, UPC или LCCN»).
То, как распознанный экспорт пишет названия столбцов, значения не имеет: TITLE, Title и title — один и тот же столбец, как и Call_Number и «Call Number». Файл, записанный не в UTF-8, читается в более старой кодировке, в которую укладываются его буквы, — Windows-1252 или Mac Roman для латиницы, Windows-1253 или ISO-8859-7 для греческого, Windows-1251 или KOI8-R для кириллицы, — а шаг подтверждения сообщает, в какой именно, так что шведское название или греческий автор сохраняют свои буквы, а не превращаются в бессмыслицу. Если и при таком предположении буквы остаются нечитаемыми, импорт приостанавливается (причина указана рядом с кнопкой), пока вы не выберете кодировку, в которой файл был сохранён.
Переход с Readerware
Экспорт Readerware с заголовочной строкой распознаётся по названиям столбцов и сопоставляется без ручных действий. Помимо названия, авторов (Author–Author6), ISBN, LCCN, издательства, года, числа страниц, формата, языков, издания, серии, категорий (как тем), описания и рекомендованной цены — а также Editor, Translator и Illustrator как участников создания книги (но не как её авторов), всех языков из Content_Language («English, Ancient Greek» сохраняет оба), формата DVD или иного не книжного формата как вида издания, Disk_Count больше единицы как числа дисков, Reading_Level и Lexile_Level — переносятся и столбцы уровня экземпляра: Copies превращается в столько же экземпляров; Location становится полкой с таким названием (она создаётся в вашей библиотеке, если её нет); Item_Condition и Cover_Condition, Signed, Purchase_Price/Date/Place, Item_Value и Valuation_Date, а также My_Comments попадают на каждый экземпляр; Dewey попадает на книгу как её классификационный номер — 221.93 из «221.93 ADA», — а Call_Number на экземпляр; у строки без Call_Number шифром хранения становится вся ячейка Dewey («221.93 ADA», «REF 220.3 ALE»), потому что именно это написано на корешке. Keywords становятся вашими метками. Date_Entered становится датой добавления экземпляра; Pub_Place, Dimensions, Weight, Media_URL и Alt_Title заполняют место издания, размер, вес, ссылку и оригинальное название книги; ISSN и AM_ASIN хранятся среди её идентификаторов; а Rowkey запоминается на экземпляре, поэтому повторный импорт того же файла ничего не добавляет дважды. Строка с Read_Count или Date_Last_Read добавляет в ваш журнал чтения одно завершённое прочтение — шаг подтверждения сообщает, сколько их. Status направляет каждую строку: Own — это экземпляр в собственности, Want и Ordered попадают в список желаний (но не как имеющиеся экземпляры), а For Sale, Sold, Withdrawn и Missing сохраняются как имеющиеся экземпляры с меткой readerware:… и первой строкой заметок, где об этом сказано. Loan_To вместе с электронной почтой, телефоном, датой выдачи и сроком возврата становится действующей выдачей первого экземпляра.
Если ISBN в строке отсутствует или испорчен таблицей, вместо него пробуется AM_ASIN (ASIN — это ISBN-10 книги) или Barcode. Он становится ISBN, только если поиск по каталогу находит книгу с тем же названием или если запись Library of Congress по LCCN строки называет тот же ISBN; в остальных случаях он показывается на странице книги как возможный ISBN, который вам предлагается проверить. Строка с ISSN, но без ISBN — это выпуск журнала: он добавляется к своему журналу (найденному по этому ISSN или созданному по названию из строки), причём Series_Number становится номером выпуска, а дата выхода — датой на обложке. Не переносятся: My_Rating и Favorite (оценки, которые AllMyBooks не хранит) и столбцы, которым некуда попасть, например Type, Inventory или столбцы рыночных цен New_Value, Used_Value и Collectible_Value. Язык, название которого импорт не распознаёт, пропускается и учитывается в отчёте, а не угадывается. User1–User10 и User_Number переносятся в пользовательские поля, если перед импортом вы задали поля с точно такими названиями. Отчёт называет каждый столбец, который не перенёсся.
Как Readerware пишет названия столбцов, не имеет значения: файл с заголовками TITLE, AUTHOR, CALL_NUMBER читается точно так же, как файл с заголовками Title, Author, Call_Number, а пробел вместо подчёркивания («Call Number») — это снова тот же столбец. Полный экспорт состоит из 98 столбцов, и каждый из них либо сопоставляется, либо считывается, либо назван в отчёте.
Обложки — единственное, что экспорт перенести не может. В руководстве Readerware перечислены столбцы IMAGE1_FILE и подобные, но в реальных экспортах их нет, и в любом случае это были бы лишь пути к файлам на вашем старом компьютере. Обложки подтягиваются из каталога после импорта; резервный ZIP-архив, который записывает Readerware, — единственный экземпляр ваших собственных изображений, так что сохраните его.
Импорт файла MARC
Библиографический файл MARC 21 в кодировке UTF-8 — экспорт .mrc или .marc, который LibraryThing предлагает наряду с текстовым файлом с разделителями-табуляциями, или экспорт небольшой библиотечной системы — читается как MARC, как бы он ни назывался: решают собственные байты файла, так что файл MARC с именем catalogue.txt всё равно пойдёт по пути MARC, а CSV читается ровно так же, как раньше. Каждая запись становится одним экземпляром в библиотеке, в которой вы находитесь, и сопоставляется с каталогом по ISBN и другим номерам, как при любом импорте; собственный номер записи запоминается на экземпляре, поэтому повторный импорт того же файла ничего не добавляет дважды — даже если вы решили добавлять дубликаты как дополнительные экземпляры. Книга, которая уже есть в каталоге, сохраняет свои сведения; если запись говорит иное (другое число страниц, издательство, издание, год, номер по Дьюи или классификацию Library of Congress), отчёт называет запись и поле, и ничего не перезаписывается.
Что считывается: ISBN (020), LCCN (010), ISSN (022), автор (100/110/111), соавторы, переводчики, редакторы и иллюстраторы (700/710/711 с их ролями), название (245), издание (250), место, издательство и чёткий четырёхзначный год (260 или 264), число страниц из однозначного описания объёма (300), языки (008/041), классы LC и Дьюи (050/082), простое указание серии (490) и аннотация (520). Экспорт LibraryThing распознаётся по коду организации и читается по собственному профилю: его локальные поля 090 и 092 становятся кандидатами в классы LC и Дьюи и заполняют классификацию новой книги (но никогда не шифр хранения экземпляра), а метки коллекций 923 определяют, что импортируется: записи «Your library» становятся экземплярами в собственности; запись, которая есть только в Wishlist, не переносится, если вы не отметите «Добавить записи из Wishlist в список желаний», и даже тогда это запись списка желаний, а не имеющийся экземпляр; записи, которые есть только в коллекциях для чтения или только в ваших собственных коллекциях, показываются группами, чтобы вы решили сами, и по умолчанию не переносятся. Название коллекции никогда не сохраняется как полка или метка. Если определение профиля неверно, его можно переключить в предварительном просмотре.
Предварительный просмотр идёт до того, как что-либо записано: число записей, профиль, кодировка, первые записи в том виде, в каком они будут импортированы, все предупреждения и число по каждому тегу того, что не будет перенесено в каталог (например, предметные рубрики и примечания). Эти непереносимые поля не теряются: они хранятся закрыто вместе с каждым экземпляром — видны только участникам этой библиотеки, никогда не показываются на публичных страницах и в поиске, — чтобы будущая версия могла прочитать из них больше, не прося вас экспортировать файл заново. LibraryThing записывает выходные данные одной строкой («Vintage (1990), Edition / Reissue, 304 pages»), поэтому из неё ничего не сохраняется как место издания или издательство; предварительный просмотр предлагает в виде подсказок издательство и издание, которые удалось прочитать, и записывает их, только если вы их отметите. Отмена на этапе предварительного просмотра ничего не меняет.
Что отклоняется — с причиной рядом с загрузкой: файл MARC-8 (старая кодировка символов; экспортируйте его в UTF-8/Unicode — по нему ничего не угадывается), MARCXML, UNIMARC, а также файлы MARC с данными о фондах и авторитетные файлы: это записи об экземплярах и именах, а не о книгах. Запись, повреждённая в файле — обрезанная или с полем, выходящим за её конец, — пропускается и перечисляется по номеру, если следующую запись можно найти наверняка; иначе импорт останавливается на этой записи и сообщает об этом. Файл читается в пределах 25 МБ и 20 000 записей.
