我有一个数据集,二进制形式的,每个数的格式是 uint32,请问怎么读取呢?
python 代码这样写,怎样换成 julia 的呢?
fr = open(filename,"r")
data = np.fromfile(fr, dtype=np.uint32)
data = data.reshape(-1, 7)
fr.close()
我有一个数据集,二进制形式的,每个数的格式是 uint32,请问怎么读取呢?
python 代码这样写,怎样换成 julia 的呢?
fr = open(filename,"r")
data = np.fromfile(fr, dtype=np.uint32)
data = data.reshape(-1, 7)
fr.close()
根据具体数据集的格式来决定, JuliaIO 下面有很多支持,比如说 HDF5.jl, MAT.jl
就是简单的二进制文件,数据一个一个排列,不是特定的格式。
using Mmap
dataFilesize = filesize(filename)
dataRowsize = Int64(dataFilesize / sizeof(UInt32) / 7 )
data=Mmap.mmap(open(filename), Matrix{UInt32}, (dataRowsize, 7))
最直接的二进制读取就是 read
(考虑到性能可能还需要使用 IOBuffer
)
data = read(filename)
open(filename) do io
data = read(io, nb=1024*512) # 512Kb per read
... # process
end