簡體   English   中英

如何將數據從CSV文件添加到Perl中的數組?

[英]How do I add data from a CSV file to an array in Perl?

我已經在網上搜索和搜索了,但是我似乎無濟於事。 我知道這是一個非常簡單的問題,但是我真的很棘手...

我有一個文件目錄,並將目錄名保存到CSV文件中。 它僅由一列數據組成,例如:

100
101
102
103...

我使用以下代碼來創建文件(以防萬一其相關):

open (my $fileh, '>', '/Users/Shared/serials.csv') or die "Could not open file!";
print $fileh `ls -1 $path`;
close $fileh;
print "Saved Serials!";

現在,我要做的就是將文件中的數據讀入數組,然后遍歷每個值以完成任務。 我不知道該怎么做...

目前,我正在將代碼中的數字手動輸入到數組中,例如:

@ser_list = (100,101,102,103,...);

如上所述,我想使用ls命令行查詢自動寫文件名(數字),然后從那里讀回腳本。 如果有一種方法可以執行此操作,而不必制作一個單獨的值文件,那就太好了。

在示例中,該數組稱為@ser_list,從那里我從數組中讀取下一個$ ser_num並在循環中使用它。

foreach $ser_num (@ser_list) {....}

預先感謝大家的幫助和耐心!

不要在Perl程序中使用ls 您可以改用glob

my @files = glob "$path/*";

如果需要使用路徑和文件名,請檢查Path :: Tiny

要讀取具有路徑的行到數組中,只需使用

open my $fh, '<', $filename or die $!;
chomp( my @paths = <$fh> );

有關詳細信息,請參見openchompreadline

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM