我想导入CSV文件(file.csv
)作为Julia中的矩阵,以使用GR将其绘制为热图。我的CSV文件包含255行,每行255个条目。以下是CSV文件中的一些示例,用于说明行的格式:
file.csv
-1.838713563526794E-8;-1.863045549663876E-8;-2.334704481052452E-8 ...
-1.7375447279939282E-8;-1.9194929690414267E-8;-2.0258124812468942E-8; ...
⋮
-1.1706980663321613E-8;-1.6244768693064608E-8;-5.443335580296977E-9; ...
注意:省略号(...)不是CSV文件的一部分,而是表示省略了整个部分。
我尝试使用下面的行m = CSV.read("./file.csv")
将文件作为矩阵导入,但这会导致255 x 1的向量,而不是255 x 255的矩阵。有谁知道在Julia中将CSV文件作为矩阵导入的有效方法?
答案 0 :(得分:3)
您可以使用
using DelimitedFiles
m = readdlm("./file.csv", ';', Float64)
(如果需要Float64
,可以省略最后一个指定类型的参数)
答案 1 :(得分:3)
m = CSV.read("./file.csv")
返回一个DataFrame
。
如果CSV.jl
正确读取了文件,因此m
的所有列均为Float64
类型,不包含missing
,则可以转换m
到具有Float64
的{{1}}矩阵,或获得一行的矩阵:
Matrix{Float64}(m)
但是, m = Matrix{Float64}(CSV.read("./file.csv", header=0, delim=';'))
# or with piping syntax
m = CSV.read("./file.csv", header=0, delim=';') |> Matrix{Float64}
通常应该足够,并且是解决像您这样的简单CSV文件的第一个解决方案。