You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia如何不使用循环将多个JSON文件合并为单个DataFrame

Julia多JSON文件合并为DataFrame方案

无显式循环实现

完全不需要手写for循环,借助Julia的广播和归约操作即可实现,你找到的参考代码存在eachline不支持直接传入文件名数组的问题,修正后的正确代码如下:

using JSON3
using DataFrames

# 定义待读取的JSON文件路径列表
file_list = ["j1.json", "j2.json", "j3.json"]

# 普通JSON文件(单文件对应一个JSON对象/数组)的合并
df = reduce(vcat, DataFrame.(JSON3.read.(read, file_list)), cols=:union)

代码说明

  • JSON3.read.(read, file_list):通过广播遍历所有文件,依次读取文件内容并解析为JSON3结构,全程无显式循环
  • DataFrame.():将每个解析完成的JSON结构转换为对应DataFrame
  • reduce(vcat, ..., cols=:union):将所有单文件DataFrame纵向拼接为一个完整DataFrame,cols=:union参数会自动兼容不同文件的字段差异,缺失字段自动填充missing

特殊场景适配

JSON Lines格式文件(每行一个JSON对象)

如果你的文件是JSON Lines格式,调整为如下写法即可:

df = reduce(vcat, DataFrame.(Iterators.flatten(JSON3.read.(eachline.(file_list)))), cols=:union)

JSON顶层为对象数组

如果单个JSON文件顶层是多个对象组成的数组,不需要额外调整,上面的普通JSON代码已经支持自动展开拼接。

内容的提问来源于stack exchange,提问作者Gokul Balagopal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:39:02