julia:是否可以命名存储在数组中的数据帧

时间:2018-03-07 09:19:15

标签: dataframe filesystems julia

我有~500个文件存储在一个文件夹中。以下是其中的一小部分:

 "10.0.0.txt"
 "1.0.0.txt" 
 "10.1.2.txt"
 "10.1.3.txt"
 "10.1.4.txt"
 "10.1.5.txt"
 "10.2.1.txt"
 "10.2.3.txt"
 "10.2.4.txt"
 "10.2.5.txt"
 "10.3.1.txt"
 "10.3.2.txt"
 "10.3.4.txt"           
 "Y.3.1.txt" 
 "Y.3.2.txt" 
 "Y.3.4.txt" 
 "Y.3.5.txt" 
 "Y.4.1.txt" 
 "Y.4.2.txt" 
 "Y.4.3.txt" 
 "Y.4.5.txt" 
 "Y.5.1.txt" 
 "Y.5.2.txt" 
 "Y.5.3.txt" 
 "Y.5.4.txt" 

我想将它们全部读入Julia并能够通过名字来调用它们。目前我使用以下代码:

df = CSV.read.(filter(r"^", readdir()); delim=' '; header=["chrom", "pos", "ref", "alt"], )

这会将当前工作目录中的所有文件读入数据帧数组,这就是我想要的。但是,有没有办法命名每个数据帧(或数组索引),以便我可以通过它的名称调用我需要的特定数据帧?

1 个答案:

答案 0 :(得分:2)

最简单的方法是创建一个字典映射到DataFrame的名称,例如(我已经改变了正则表达式,因为我想你想让名字以txt结尾):

Dict((f, CSV.read(f, delim=' ', header=["chrom", "pos", "ref", "alt"]))
     for f in filter(r"txt$", readdir()))