读取和写入数据到各种文件类型
本演示的目的是展示从文件读取数据和向文件写入数据的基本功能。
任务和文件处理的结构是相同的:首先我们将某些内容写入文件,然后从中读取以前记录的数据。
首先,我们将为包含项目文件夹的所有文件声明一个公共路径。
In [ ]:
Pkg.add(["CSV", "MAT"])
In [ ]:
path = "$(@__DIR__)/";
CSV档案源
让我们写入并读取CSV文件。 为此,我们需要CSV和DataFrames库。
In [ ]:
using CSV, DataFrames
In [ ]:
df = DataFrame(rand(10, 10), :auto)
Out[0]:
In [ ]:
CSV.write(path * "data.csv", df)
Out[0]:
In [ ]:
Matrix(CSV.read(path * "data.csv", DataFrame))
Out[0]:
TXT脧脗脭脴
现在我们将在文本文档中实现写作和阅读。 在这种情况下,我们不需要任何第三方库。
In [ ]:
write(path * "data.txt", "Пример")
Out[0]:
In [ ]:
open(io->read(io, String), path * "data.txt")
Out[0]:
垫子
现在让我们读写MAT文件。 为此,请使用MATLAB和MAT库。 第一种支持MATLAB语法,第二种简化了与MATLAB文件的交互。
In [ ]:
using MATLAB, MAT
In [ ]:
mat"p = genpath($path); addpath(p);"
In [ ]:
a = [1 2 3]
mat"a=$a"
mat"save($path + string('data.mat'),'a')"
In [ ]:
b = matopen(path * "data.mat")
read(b, "a")
Out[0]:
JLD2
现在考虑JLD2。 这些是将变量存储在Engee中作为列表的文件。
In [ ]:
using FileIO
In [ ]:
save(path * "example.jld2", Dict("A" => "test", "B" => 12))
In [ ]:
load(path * "example.jld2")
Out[0]:
In [ ]:
b = load(path * "example.jld2", "B")
Out[0]:
结论
在本演示中,我们研究了创建和读取Engee中使用的主要文件类型的可能性。