2014-01-13 27 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

相關問題