如何将多个 CSV 加载到 Julia 中的 DataFrame 中?

5 julia

我已经知道如何将单个 CSV 加载到 DataFrame 中:

using CSV
using DataFrames    
df = DataFrame(CSV.File("C:\\Users\\username\\Table_01.csv"))
Run Code Online (Sandbox Code Playgroud)

Table_01.csv当我有多个 CSV 文件(例如、Table_02.csv、 )时,我该如何执行此操作Table_03.csv?我会创建一堆空的 DataFrame 并使用 for 循环来填充它们吗?或者朱莉娅有更简单的方法吗?提前谢谢了!

Bog*_*ski 4

如果您想要多个数据框(而不是保存多个文件中的数据的单个数据框),有多种选择。

\n\n

让我从使用广播的最简单方法开始:

\n\n
dfs = DataFrame.(CSV.File.(["Table_01.csv", "Table_02.csv", "Table_03.csv"]))\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
dfs = @. DataFrame(CSV.File(["Table_01.csv", "Table_02.csv", "Table_03.csv"]))\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者(使用一些更高级的东西,使用函数组合):

\n\n
(DataFrame\xe2\x88\x98CSV.File).(["Table_01.csv", "Table_02.csv", "Table_03.csv"])\n
Run Code Online (Sandbox Code Playgroud)\n\n

或使用链接:

\n\n
CSV.File.(["Table_01.csv", "Table_02.csv", "Table_03.csv"]) .|> DataFrame\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在其他选项map正如评论中所建议的那样:

\n\n
map(DataFrame\xe2\x88\x98CSV.File, ["Table_01.csv", "Table_02.csv", "Table_03.csv"])\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者只是使用理解:

\n\n
[DataFrame(CSV.File(f)) for f in ["Table_01.csv", "Table_02.csv", "Table_03.csv"]]\n\n
Run Code Online (Sandbox Code Playgroud)\n\n

(我列出了在 Julia 中显示不同语法可能性的选项)

\n