gpt4 book ai didi

csv - 将 CSV 读入数组

转载 作者:行者123 更新时间:2023-12-03 19:15:43 25 4
gpt4 key购买 nike

在 Julia 中,使用 CSV.jl ,可以从 .csv 中读取 DataFrame文件:

using CSV

df = CSV.read("data.csv", delim=",")
但是,我如何才能将 CSV 文件读入 Vector{Float64}数据类型?

最佳答案

您可以使用 DelimitedFiles来自 stdlib 的模块:

julia> using DelimitedFiles

julia> s = """
1,2,3
4,5,6
7,8,9"""
"1,2,3\n4,5,6\n7,8,9"

julia> b = IOBuffer(s)
IOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=17, maxsize=Inf, ptr=1, mark=-1)

julia> readdlm(b, ',', Float64)
3×3 Array{Float64,2}:
1.0 2.0 3.0
4.0 5.0 6.0
7.0 8.0 9.0
我正在向您展示来自 IOBuffer 的示例阅读完全可重现,但您也可以从文件中读取数据。在 readdlm 的文档字符串中您可以找到有关可用选项的更多详细信息。
请注意,您将收到 Matrix{Float64}不是 Vector{Float64} ,但我明白这就是你想要的。如果不是,那么为了将矩阵转换为向量,您可以调用 vec读入数据后对其进行函数处理。
编辑
这就是你如何读回 Matrix使用 CSV.jl:
julia> df = DataFrame(rand(2,3))
2×3 DataFrame
│ Row │ x1 │ x2 │ x3 │
│ │ Float64 │ Float64 │ Float64 │
├─────┼───────────┼──────────┼──────────┤
│ 1 │ 0.0444818 │ 0.570981 │ 0.608709 │
│ 2 │ 0.47577 │ 0.675344 │ 0.500577 │

julia> CSV.write("test.csv", df)
"test.csv"

julia> CSV.File("test.csv") |> Tables.matrix
2×3 Array{Float64,2}:
0.0444818 0.570981 0.608709
0.47577 0.675344 0.500577

关于csv - 将 CSV 读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54410030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com