File Julia-每358行读取一个文件
我正在为我的晶体做一些计算。我的文件有大约15750756个字符串格式的x-y-z坐标。我想阅读每358行的信息,但我不知道怎么做 我只知道这个密码。但它将读取每一行,而不是每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.
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行,…,重复直到文件结束?