Импорт данных
Engee поддерживает различные форматы файлов для импорта данных. Прежде чем начать работу – загрузите их в файловый браузер Engee . Для импорта файлов используется кнопка или интерактивное перемещение (drag-and-drop) в область файлового браузера:
Ядро Engee, основанное на языке программирования Julia, по умолчанию включает только самые базовые пакеты. Для добавления возможности импорта файлов в нужном формате установите дополнительные пакеты, используя менеджер пакетов Pkg.
Для просмотра установленных пользовательских пакетов используйте команду Pkg.status() .
|
С помощью базовых пакетов Engee поддерживает импорт данных из:
-
файлов моделей .engee в рабочее пространство;
-
скриптов .ngscript и .ipynb в редактор скриптов . Исполнение ячеек с переменными импортирует их значения в окно переменных (подробнее здесь);
-
переменных из файлов .mat и .jld2 в окно переменных (подробнее здесь);
-
блоков из рабочего пространства в файлы пользовательских библиотек .nglib .
Импорт данных из других форматов реализуется с помощью функций ввода/вывода (подробнее в разделе ниже).
Функции ввода/вывода
Для получения данных из импортируемых файлов используются функции ввода/вывода (I/O):
Назначение | Функция | Описание |
---|---|---|
Открытие |
открытие файла или потока данных |
|
определяет закрыт ли уже объект (поток или таймер) |
||
Закрытие |
закрывает поток ввода-вывода |
|
закрывает все открытые окна графического интерфейса пользователя |
||
закрывает только поток чтения из файла, связанный с объектом ввода-вывода |
||
прекращает запись половины полнодуплексного потока |
||
Запись |
записывает представление канонического двоичного файла значения в заданный поток ввода-вывода или файл |
|
проверяет, поддерживается ли запись в указанный объект |
||
Чтение |
выполняет чтение содержимого файла |
|
выполняет чтение двоичных данных из потока ввода-вывода или файла, заполняя матрицу данных |
||
выполняет чтение доступных буферизованных данных из потока |
||
выполняет чтение не более nb байтов из stream в b, возвращая количество считываемых байтов |
||
выполняет чтение полного объема файла как строки и удаляет один символ разрыва строки в конце (если есть) |
||
возвращает имена в каталоге (dir) или текущем рабочем каталоге, если тот не указан |
||
возвращает итерируемый объект, дающий в результате read(io, T) |
||
выполняет чтение одной строки текста из заданного потока ввода-вывода или файла |
||
выполняет чтение всех строк в потоке ввода-вывода или файле как векторных или строковых значений |
||
возвращает целевое расположение, на которое указывает символьная ссылка path |
||
выполняет чтение строки из потока ввода-вывода или файла (до заданного символа-разграничителя) |
Для расширения возможностей ввода/вывода данных из конкретных форматов используйте соответствующие пакеты Julia (подробнее об их установке читайте здесь). Например, разница в работе с CSV-файлом с пакетом CSV.jl и без пакета представлена в таблице:
Действие пользователя |
C CSV.jl |
Без CSV.jl |
---|---|---|
Установка |
Установка пакета: Использование пакета в коде:
|
Не требуется установка стороннего пакета |
Чтение данных |
|
|
Преобразование |
Не требуется дополнительного преобразования. |
Преобразование данных .csv в массив строк:
Преобразование строк CSV в массивы значений:
|
Дополнительные |
Возможность настройки параметров чтения и записи. |
Требуется дополнительная обработка данных для получения структуры данных. |
Для работы с популярными форматами рекомендуем использовать следующие пакеты Julia:
Категория | Формат | Пакет Julia | Примеры |
---|---|---|---|
Текстовые файлы |
TXT |
Стандартная библиотека |
|
DOC/DOCX |
|||
Электронные таблицы |
XLS/XLSX |
||
CSV |
|||
ODS |
|||
Изображения |
JPG/JPEG |
||
PNG |
|||
GIF |
|||
TIFF |
|||
Научные данные |
CSV |
||
TSV |
|||
MAT |
|||
HDF5 |
|||
NetCDF |
|||
FITS |
|||
CDF |
|||
JLD2 |
|||
Аудио и видео |
MP3 |
||
WAV |
|||
AAC |
|||
MP4 |
|||
AVI |
|||
MKV |
|||
Структурированная информация и XML |
XML |
||
XSD |
|||
XSLT |
|||
JSON |
JSON |
Если в таблице не представлен нужный формат — обратитесь к сайту Julia Packages или к сайтам соответствующих пакетов. |
Импорт больших данных
Для работы с большими данными (Big Data) в Engee используется структура WorkspaceArray. Для импорта данных в WorkspaceArray применяются CSV-файлы и табличная структура данных DataFrame. |
Для создания WorkspaceArray:
-
DataFrame — создайте DataFrame на основе имеющихся данных, например:
using DataFrames # подключаем пакет DataFrames times = [2 ^ i for i in LinRange(1, 3, 1000)] values = [sin(i ^ 2 + 1) * 2 + cos(i) for i in times] data_frame = DataFrame(time = times, value = values) # создадим DataFrame с двумя столбцами — time и value
Создайте WorkspaceArray из DataFrame:
my_workspacearray = WorkspaceArray("my_data_frame", data_frame)
где
my_workspacearray
— переменная с типом данных WorkspaceArray, содержащая данные из DataFrame с именемdata_frame
. -
CSV — создайте CSV файл из полученного DataFrame:
using CSV #подключаем пакет CSV CSV.write("/user/workspacearray_csv.csv", delim="\t", data_frame)
Создайте WorkspaceArray из полученного CSV:
workspacecsv = WorkspaceArray("workspacearray_csv", "/user/workspacearray_csv.csv") # где "/user/workspacearray_csv.csv" — путь до CSV-файла, а "workspacearray_csv" — его имя
Для создания WorkspaceArray из импортированного CSV следуйте условиям, описанным здесь. Для расширенной работы с WorkspaceArray используйте функции AbstractVector.