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

Julia技术问询:获取指定目录文件列表及合并CSV为DataFrame

Julia 相关技术问题解答

1. 获取指定路径文件夹的文件列表

在Julia中可以用readdir()函数直接获取指定路径下的所有文件/文件夹名称,针对D:\working路径,写法如下:

# 方法1:用双反斜杠转义路径
file_list = readdir("D:\\working")

# 方法2:用原始字符串,无需转义,更简洁
file_list = readdir(raw"D:\working")

执行后file_list会返回该文件夹下的文件名数组,对应你提到的["result_1.csv", "result_2.csv", "result_3.csv", "result_4.csv"]。

如果只想筛选CSV文件,可添加过滤条件:

csv_files = filter(f -> endswith(f, ".csv"), readdir(raw"D:\working"))

2. 合并多个CSV文件为单个DataFrame

你提供的代码存在问题:CSV.File.(...)返回的是Vector{CSV.File}类型,无法直接通过|> DataFrame转换为单一DataFrame。正确流程是先把每个CSV.File转为DataFrame,再用vcat()合并。

示例代码:

using CSV
using DataFrames

# 切换到目标工作目录
cd(raw"D:\working\logistics\logistics_bill\V5")

# 指定要合并的文件(也可以用readdir动态获取)
files = ["result_1月.csv", "result_2月.csv"]

# 步骤1:读取每个文件为DataFrame,得到DataFrame数组
df_array = DataFrame.(CSV.File.(files))

# 步骤2:合并所有DataFrame
total = vcat(df_array...)

# 也可以写成一行简化版
total = CSV.File.(files) .|> DataFrame |> x -> vcat(x...)

如果所有CSV文件列结构一致,vcat()会自动按列名对齐合并;若列结构有差异,可通过vcat(df_array..., cols=:union)保留所有列,缺失值用missing填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:31:17