朱莉亚|DataFrame转换为JSON

wsewodh2  于 2023-04-22  发布在  其他
关注(0)|答案(3)|浏览(106)

我在Julia中有一个 Dataframe ,如df = DataFrame(A = 1:4,B = [“M”,“F”,“F”,“M”])。

{
    "nodes": [
        {
            "A": "1",
            "B": "M"
        },
        {
            "A": "2",
            "B": "F"
        },
        {
            "A": "3",
            "B": "F"
        },
        {
            "A": "4",
            "B": "M"
        }
    ]
}

请帮帮我。

hivapdat

hivapdat1#

DataFrames中没有这样做的方法。在github issue中,使用JSON.jl的以下片段作为编写json的方法提供:

using JSON
using DataFrames

function df2json(df::DataFrame)
  len = length(df[:,1])
  indices = names(df)
  jsonarray = [Dict([string(index) => (isna(df[index][i])? nothing : df[index][i])
                     for index in indices])
               for i in 1:len]
  return JSON.json(jsonarray)
end

function writejson(path::String,df::DataFrame)
  open(path,"w") do f
    write(f,df2json(df))
  end
end
sd2nnvve

sd2nnvve2#

JSONTables包提供了与Tables.jl兼容的源代码(如DataFrame)之间的JSON转换。

using DataFrames
using JSONTables

df = DataFrame(A = 1:4, B = ["M", "F", "F", "M"])

jsonstr = objecttable(df)
bq9c1y66

bq9c1y663#

现在,您可以简单地使用JSON.json(df),它将创建{"col1": values, "col2": values}的JSON

相关问题