Импорт и экспорт переменных
Engee поддерживает запись и выгрузку переменных в форматах .mat и .jld2:
-
.mat — формат, который используется в программном обеспечении MATLAB.
-
.jld2 — формат, который используется в языке программирования Julia.
Чтобы записать переменные в .mat или .jld формат, выберите их в окне переменных и правой кнопкой мыши вызовите контекстное меню. В меню нажмите Сохранить как…:
Это откроет окно экспорта переменных:
-
Задайте имя файла, который будет содержать переменные.
-
Выберите формат экспортируемого файла — MAT или JLD2.
-
Отследите директорию, в которую будет сохранен файл.
-
Задайте путь, по которому будет сохранен файл. В этой области будут отображены все папки файлового браузера Engee.
-
Возвращайтесь из текущей директории на уровни выше, вплоть до
/user
(начала пути файлового браузера Engee). -
Создайте новую папку в директории пункта 3.
Сохраненный файл в формате MAT или JLD2 отобразится в окне файлов . Двойной клик левой кнопкой мыши по сохраненному файлу импортирует переменные в рабочую область Engee. Импортированные переменные автоматически добавятся в окно переменных
.
MAT
Используйте пакет MAT.jl для работы с данными в формате .mat в Julia (подробнее здесь). |
Вы можете работать с форматом MAT программно, через редактор скриптов или командную строку. Например, рассмотрим следующий код чтения одной переменной из MAT:
using MAT # подключаем библиотеку MAT для работы с файлами .mat
a = 1 # задаем переменную а со значением 1
file = matopen("/user/mat_file.mat") # открываем файл mat_file.mat для чтения с помощью функции matopen и создаем объект file
variable_mat = read(file, "a") # считывает переменную "a" из файла типа MAT и присваивает ее значение переменной variable_mat
close(file) # закрывает файл
Для записи переменной в MAT-файл используем код:
variable_1 = 1 # зададим переменную variable_1 и присвоим ей значение 1
file = matopen("/user/new_mat_file.mat", "w") # открывает файл new_mat_file.mat в режиме записи ("w")
write(file, "variable_mat", variable_1) # записывает значение переменной variable_1 в переменную variable_mat в файл new_mat_file.mat
close(file) # закрывает файл
С помощью кода мы записали переменную в файл формата MAT. Схожим образом, через функцию matwrite, можем записать Dict (словарь) в формат MAT, используя его ключи в качестве имен переменных:
mat_Dict = Dict(
"variable_1" => 1,
"variable_2" => -2,
"variable_3" => "Hello, world")
matwrite("/user/Dict.mat", mat_Dict)
Код создаст файл Dict.mat, содержащий словарь с именами переменных.
Вы можете использовать аргумент сжатия данных
|
JLD2
Используйте пакет JLD2.jl для работы с данными в формате .jld2 в Julia (подробнее здесь). |
Загрузим модуль JLD2:
import Pkg; #импорт менеджера пакетов
Pkg.add("JLD2") #добавления пакета JLD2
Пакет JLD2.jl поддерживает интерфейсы функции наподобие jldsave
. Например:
using JLD2 #загрузка модуля
x = 1
y = 2
z = 42
# Простейший случай:
jldsave("example.jld2"; x, y, z)
# это равносильно
jldsave("example.jld2"; x=x, y=y, z=z)
# Новые имена можно присваивать лишь части аргументов
jldsave("example.jld2"; x, a=y, z)
# а чтобы внести полную путаницу, можно сделать так
jldsave("example.jld2"; z=x, x=y, y=z)
Если в файле требуется сохранить только один объект для последующей загрузки, можно воспользоваться функциями save_object
и load_object
. Например:
save_object(filename, x) #сохраняет объект x в новом JLD2-файле в filename, если файл существует по этому пути, он будет перезаписан.
load_object(filename, x) #загружает объект x