File Julia-每358行读取一个文件

File Julia-每358行读取一个文件,file,io,julia,File,Io,Julia,我正在为我的晶体做一些计算。我的文件有大约15750756个字符串格式的x-y-z坐标。我想阅读每358行的信息,但我不知道怎么做 我只知道这个密码。但它将读取每一行,而不是每358行 file = open(trajectory_file_path) for i in eachline(file) #What to do here? append!(defect_positions,[split(i[4:end])] ) end end close(file) 我想您在文件test.

我正在为我的晶体做一些计算。我的文件有大约15750756个字符串格式的x-y-z坐标。我想阅读每358行的信息,但我不知道怎么做

我只知道这个密码。但它将读取每一行,而不是每358行

file = open(trajectory_file_path)
for i in eachline(file)
#What to do here?
    append!(defect_positions,[split(i[4:end])] )
end
end
close(file)

我想您在文件
test.csv
中有以下几行:

1 2 3
4 5 6
...
100 101 102
...
例如,超过358条线和代表x-y-z坐标的三个值

要读取每358行数据并存储在阵列
缺陷位置
中,您可以执行以下操作:

function read_some_lines(filepath::String)

    defect_positions = Vector{Vector{SubString{String}}}(undef, 0)
    file = open(filepath)
    counter = 0
    for i in eachline(file)
        if (counter%358 == 0)
            push!(defect_positions,split(i))
        end
        counter += 1
    end
    close(file)
    defect_positions
end

read_some_lines("./test.csv")
例如,您可以将表示坐标的字符串转换为
整数
浮点64

function read_some_lines(filepath::String)

    defect_positions = Vector{Vector{Int}}(undef, 0)
    file = open(filepath)
    counter = 0
    for i in eachline(file)
        if (counter%358 == 0)
            push!(defect_positions,parse.(Int,split(i)))
        end
        counter += 1
    end
    close(file)
    defect_positions
end

read_some_lines("./test.csv")

这个问题对我来说有点不清楚。如果代码尚未执行,您希望完成什么?因此,为了清楚起见,您希望从文件中读取一行,更新
缺陷位置,
,然后跳过文件中的357行,…,重复直到文件结束?