我很难使用 Julia 读取大型文本文件(968MB,870 万行)。每一行是这样的:
0.3295747E+01 0.3045123E+01 0.3325542E+01 0.1185458E+01 -0.4827727E-05 -0.1033694E-04 0.3306459E-03
Run Code Online (Sandbox Code Playgroud)
我曾经parse.(Float64, split(line))将每一行转换为数字。
function openfile()
datafile = open("data.dat","r")
lines = readlines(datafile)
close(datafile)
lines
end
function parseline(lines::Array{String})
for line in lines
zzz = parse.(Float64, split(line))
end
end
import Base: tryparse_internal
function myreadfile(str::String, T::Type, dlm=' ', eol='\n')
row, clm, bg, ed = 0, 0, 0, 0
data = Array{T}(undef,0)
isnu0, isnu = false, false
for (idx, chr) in enumerate(str)
isnu = false
(chr != eol && chr != dlm) && …Run Code Online (Sandbox Code Playgroud) julia ×1