Конвертация данных, инструменты конвертации 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Конвертация данных, инструменты конвертации



Программист-аналитик может использовать данные в любом формате: главное, чтобы они были. Но когда исходных данных много, из разных источников и в разных форматах, либо программа обработки данных требует их в строго определённом формате, удобнее преобразовать данные уже готовыми инструментами.

При загрузке таблиц на порталы государственных данных их можно автоматически преобразовать. Сотруднику публикатора при создании нового набора предлагают загрузить табличный файл с конвертацией, и затем определить формат колонок таблицы. После этого на портале оказываются опубликованными данные в стандартном формате CSV со структурой, позволяющей его проверить.

Как мы упоминали раньше, открытые данные публикуются в трёх форматах: CSV, JSON и XML. Формат RDF встречается редко и на практике эквивалентен XML, а из интерфейсов API мы получаем те же форматы. Всё это текстовые файлы, и должны быть в кодировке UTF-8. В противном случае вы не прочитаете русские буквы. Для преобразования кодировки можно использовать онлайн-сервисы, вроде декодера студии Артемия Лебедева, либо редактор Notepad++, где в меню кодировок можно подобрать кодировку файла, и преобразовать его в UTF-8 без BOM, т. е. без специального маркера в начале файла, который понимают не все программы.

Если нам нужно загрузить таблицу в Microsoft Excel, то он понимает только формат CSV, причём только в одном виде. Преобразование из CSV в CSV называется нормализацией, и один из лучших способов нормализации — через открытый и бесплатный офисный пакет LibreOffice. Он понимает любой формат CSV, любую кодировку, и может превратить в табличные данные даже текстовый файл, где значения выровнены по колонкам. После обработки можно даже не сохранять CSV, а сразу сделать файл в формате Excel, и загрузить его туда. Хотя несложные операции можно проделывать и в LibreOffice. Этот пакет известен своей всеядностью, однако табличные данные из XML и JSON не сможет вытянуть даже он.

Чтобы загрузить данные в этих форматах в электронную таблицу, можно предположить, что они хорошо структурированы, и воспользоваться одним из многих онлайн-преобразователей. Достаточно набрать «csv в xml» в поисковике гугля и получить список ссылок. Один из сервисов, который смог обработать пару найденных на data.gov.ru наборов данных, — на сайте xmlgrid.net. Он требует чуть больше ручной работы, чем другие: после загрузки файла он выводит дерево записей, и в нём нужно отметить записи для преобразования. К сожалению, даже результат его работы сложно открыть в таблице: все ячейки оказались в одной строке, и понадобилась дополнительная работа, чтобы их разбить. И это для двумерной таблицы: сложную структуру, как в данных федерального агентства лесного хозяйства, в таблицу не сможет превратить ни один онлайн-сервис. То есть, данные в XML и JSON пригодны для машинной обработки, но не для использования в электронных таблицах.

Пользователям открытых данных в структурированных форматах нужно, чтобы все эти данные были в одном формате. Например, когда они собирают однотипные данные из разных региональных порталов — допустим, списки образовательных учреждений. Где-то они будут в CSV с адресами в столбцах, где-то — в JSON с координатами. Поскольку для машинной обработки, как раз, удобнее структурированные форматы, то всё это нужно преобразовать в JSON. Разумеется, для этого тоже есть интернет-сервисы. Поскольку JSON — самый популярный сейчас формат, то и сервисов тьма.

Отмечу, что большинство веб-сервисов для конвертации данных не переведены на русский язык. Однако процесс у всех примерно одинаков. Нажимаете кнопку с надписью browse или open file, выбираете файл, затем кнопка convert или process преобразует формат, и кнопка download или save сохранит результат вам на диск. Любые преобразования можно сделать из командной строки линукса или мак ос с помощью соответствующих программ, но я предполагаю, что если вы умеете пользоваться командной строкой, то и программы найдёте самостоятельно.

Для преобразования CSV есть сайты convertcsv.com и csvjson.com, а также многофункциональный codebeautify.org. Преобразование между XML и JSON не полностью тривиально, но потерь информации почти нет, в отличие от работы с CSV: с этим справится тот же codebeautify. Для целей обработки формат RDF тоже можно использовать как XML.

Наконец, если в данных есть координаты точек — например, учреждений или киосков, — на земном шаре, то это — геоданные. Открытые геоданные иногда публикуются в специализированных форматах, чаще всего — в шейпфайлах. Конечно, у JSON есть стандартный формат для геоданных, это GeoJSON. И некоторые веб-сервисы, например, geojson.io, помогут преобразовать геоданные в любом формате — даже CSV или KML — в GeoJSON, удобный для последующей обработки: например, загрузки в сервисы классификации и визуализации.

Важно помнить, что почти любое преобразование теряет информацию, и получив из JSON таблицу, вы не можете быть уверены, что не потеряли какую-то из колонок, пока не сравните визуально. Структура данных не преобразовывается вместе с форматом, поэтому структуру результата придётся определять самостоятельно. Почти наверняка придётся преобразовывать типы данных отдельных колонок: например, в одной таблице дата может быть в формате день-месяц-год, а в другом — в формате ISO (год-месяц-день). Ну и при объединении данных из разных источников могут появиться дубликаты в данных, что тоже может привести к ошибкам.

В целом, преобразование данных, как и их обработка, — это отчасти творческая работа: нужно найти подходящий инструмент, нужно определить, какой частью структуры можно пожертвовать, и подходит ли результат для своих задач. Хорошая новость в том, что инструментов очень много, и даже если не найдёте нужный, у программистов достаточно готовых библиотек, чтобы написать свой.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-27; просмотров: 357; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.111.1 (0.005 с.)