Чтение и запись данных в различные типы файлов¶
Цель данной демонстрации – показать основные функции для чтения данных из файлов и записи данных в них.
Структура задания и обработки файлов однотипна: сначала записываем что-то в файл, а потом читаем из него ранее записанные данные.
Для начала объявим общий для всех файлов путь с папкой нашего проекта.
path = "$(@__DIR__)/";
CSV¶
Выполним запись и чтения в CSV-файл. Для этого нам понадобятся библиотеки CSV и DataFrames.
using CSV, DataFrames
df = DataFrame(rand(10, 10), :auto)
CSV.write(path * "data.csv", df)
Matrix(CSV.read(path * "data.csv", DataFrame))
TXT¶
Теперь реализуем запись и чтение в текстовый документ. В данном случае нам не потребуются никакие сторонние библиотеки.
write(path * "data.txt", "Пример")
open(io->read(io, String), path * "data.txt")
MAT¶
Теперь выполним чтение и запись в MAT-файл. Для этого воспользуемся библиотеками MATLAB и MAT. Первая поддерживает синтаксис MATLAB, а вторая упрощает взаимодействие с файлами MATLAB.
using MATLAB, MAT
mat"p = genpath($path); addpath(p);"
a = [1 2 3]
mat"a=$a"
mat"save($path + string('data.mat'),'a')"
b = matopen(path * "data.mat")
read(b, "a")
JLD2¶
Теперь рассмотрим JLD2. Это файлы, хранящие в Engee переменные в виде списков.
using FileIO
save(path * "example.jld2", Dict("A" => "test", "B" => 12))
load(path * "example.jld2")
b = load(path * "example.jld2", "B")
Вывод¶
В данной демонстрации мы рассмотрели возможности создания и чтения основных типов файлов, применяемых в Engee.