小编mle*_*lei的帖子

使用 julia 读取文本文件的最快方法是什么

我很难使用 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

7
推荐指数
1
解决办法
1526
查看次数

标签 统计

julia ×1