Узел Файлы CSV
datasource csv big

Узел Файлы CSV (от англ. comma separated values – значения, разделенные запятыми) позволяет импортировать файлы CSV в систему PolyAnalyst. В отличие от базы данных, которая хранит данные в бинарном, и часто сжатом, формате, в CSV-файлах информация хранится в виде незашифрованного и несжатого текста. Еще одно отличие баз данных от CSV-файлов заключается в том, что последние не хранят метаданные, как, например, тип колонки (число, дата, строка). PolyAnalyst самостоятельно определяет тип данных каждой колонки во время импорта. В некоторых редких случаях возникает необходимость корректировки неверно определенного типа данных.

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

Несмотря на название узла, с его помощью вы можете импортировать и другие типы файлов, схоже с CSV, например, TSV-файлы (tab-separated values – значения, разделенные табуляцией). Файлы этой категории, которые обычно хранят данные в виде незашифрованного текста, называют плоскими файлами. Термин плоский в данном случае означает, что формат данных относительно прост, и представлены они в ненормализованном виде. Понятие нормализации применяется к большинству операционных баз данных, которые хранят данные для предоставления сервисов сайтам, системам продаж и др. Нормализация данных подразумевает их хранение в нескольких таблицах вместе с четкой информацией о том, как записи в этих таблицах связаны между собой.

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

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

Файлы CSV не имеют фиксированной ширины. Это значит, что количество символов в значениях каждой колонки может варьироваться, и пользователь изначально о нем не знает. Кроме того, не существует никаких ограничений относительно максимального количества символов в колонке. Следует отметить, что узел Файлы CSV поддерживает и другой формат плоских файлов – файлы с фиксированной шириной. В таких файлах значения не отделяются друг от друга какими-либо разделителями. В файлах с фиксированной шириной значения начинаются после заранее заданного отступа в каждой строке файла.

Например, колонка 1 начинается с первого символа, колонка 2 начинается с сорокового символа, а колонка 3 начинается с пятидесятого символа.

Если значение колонки слишком короткое, к нему добавляются пробелы (процесс заполнения строк пробелами называется паддингом (от англ. padding).

Узел Файлы CSV также можно использовать для импорта файлов формата Microsoft Windows ini. Для получения подробной информации об ini-файлах обратитесь к документации Windows.

Следует также отметить, что расширение в имени файла (например, *.csv или *.tsv) не имеет критического значения. Обычно принято называть файл максимально точно, однако не все придерживаются этого правила. Дело в том, что расширение в имени файла не изменяет его содержимое, оно лишь указывает на тип файла. Файл с названием файл.txt можно рассматривать и как CSV-файл. Поэтому при импорте таких файлов можно не придавать особого значения расширению файлов.

Ограничения производительности при работе с плоскими файлами

Термин плоский файл означает любой тип файла текстового типа, который хранит данные. Плоские файлы следует отличать от двоичных файлов, например MDB-файлы в Microsoft Access, NSF-файлы в Lotus Notes или электронные таблицы XLSX в Microsoft Excel. Формат файла CSV является одним из наиболее часто используемых форматов плоских файлов.

Использование плоских файлов в анализе имеет свои плюсы и минусы:

  • Плоские файлы позволяют обрабатывать данные с помощью различных программных инструментов. Просматривать содержимое плоских файлов могут даже неаналитические программы, такие как текстовые редакторы (например, Блокнот).

  • Плоские файлы используются чаще других форматов. Такие популярные программы как Microsoft Excel, могут работать с плоскими файлами.

  • Плоские файлы не являются масштабируемыми. При работе с более 10000 записями или 100 колонками используйте альтернативную систему хранения, например базу данных.

  • Плоские файлы неэффективны из-за того, что они не хранят данные в сжатой форме. Сложные программы баз данных, как правило, хранят их в сжатой и двоичной форме.

  • Плоские файлы содержат данные в простом текстовом формате, который можно просмотреть в любой программе по работе с текстом. В связи с этим, плоские файлы – наименее надежный способ хранения данных.

PolyAnalyst поддерживает CSV-файлы, содержащие до 1023997 символов в одной строке. При обнаружении ошибки в ходе импорта PolyAnalyst выведет соответствующее сообщение. Система либо пропустит проблемный участок (зарегистрировав соответствующую информацию в журнале узла), либо вовсе остановит процесс с сообщением об ошибке.

Расположение узла Файлы CSV в палитре узлов

На палитре узлов узел Файлы CSV располагается в разделе Источник данных.

Выходные данные узла Файлы CSV

Выходными данными узла Файлы CSV является таблица данных. Во время выполнения узла PolyAnalyst преобразует содержимое CSV-файла во внутренний формат, который читается другими узлами в системе PolyAnalyst.

Соединения на скрипте

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

Поддерживаемые форматы плоских файлов при использовании узла Файлы CSV

С помощью узла Файлы CSV можно импортировать следующие типы файлов:

  • Файлы CSV (comma-separated values – значения, разделенные запятыми);

  • Файлы TSV (tab-separated values – значения, разделенные табуляцией);

  • Файлы TXT (обычные текстовые файлы, похожие на CSV, но их имена заканчиваются на ".txt");

  • Файлы INI (файлы инициализации системы Windows в формате ini).

Для успешного импорта все файлы должны заканчиваться символом новой строки независимо от их формата.