2014-01-13 29 views
0

嘿,我知道这个标题没有意义!Perl“打开多个csv文件”+“拉出部分名称并存储它”

我已经开始编码perl几天前所以不要评判我:o!

因此,为了达到这一点,我有多个CSV文件名称部分相同的几个例子名称。

Belgroep\ 00.csv, Belgroep\ 01.csv, Belgroep\ 02.csv 

所以我的剧本有太多循环throught所有的文件开始在00处结束,在46 那么它起的名字得到了号码,并将其存储在一个变量。

如果你可以告诉我很多模块的方法等,当试图用我有限的知识来制作这个脚本时会很好。

+0

'文字:: CSV'将是一个不错的选择。 – TLP

+0

*“所以我的脚本也循环遍历从00处开始的所有文件在46处结束然后它必须从名称中获取数字并将它们存储在变量中。”*请澄清这一点。你是否从'00.csv' ..'46.csv'命名文件名?如果是这样,为什么你需要阅读目录?另外,如果文件具有该名称范围,您是不是已经有了这些号码?你打算如何处理这些名字?你需要“打开”任何文件吗? – Kenosis

+0

所以我的文件被称为Belgroep \ 00.csv(\空间becouse我在Linux中)和他们的46他们,我必须阅读所有他们从他们获得某些行同时它必须读取最后文件名的2个字符为00至46,然后将其放在新的CSV文件中。 – Brein

回答

0

下面是一些代码,让你开始:

# Test files created in linux via: 
# touch Belgroep\ {00..46}.csv 

my $CWD = '.'; 

# Get a handle for the current working directory: 
opendir MYDIR, $CWD; 


while(readdir MYDIR){ 

    print "Processing file: $CWD/$_\n"; 

    if ("$_" =~ m/[0-9]{2}/) { # this file name has a number pair in it. 
    my $file = $_; 
    my ($num) = $_ =~ /([\d]{2})/; 
    print "Number for file \"$file\" is $num\n"; 
    } 
} 

使用的perldoc命令和-f选项给你的每个功能的详细说明。

例如:-f的perldoc执行opendir

Learn Perl website也是一个很好的资源。

对于模块,你应该寻找CPAN

+0

谢谢!这帮助了我很多! – Brein

相关问题