[問題] 用陣列處理 資料的行列轉換
我有一個檔案
內容大約像
I1 I2 I3 I4 ......I100
+1.1 1.2 1.3 1.4 ...... 5
+1.11 1.12 1.13 1.145 ...... 9
+1.05 1.043 1.20 ...... 10
我想把他改成
I1 => 1.1
I2 => 1.2
....
I100 => 5
I1 => 1.11
I2 => 1.12
.....
I100 => 9
I1 =>1.05
I2 => 1.043
...
I100 =>10
我目前的做法是
先將整個存取成@outline
$data = shift @outline;
@row1 = split (/[,\s]+,$data);
這個將I1~I100 先取出來 然後後面的值再分開處理
$data1 = shift @outline;
@row2 = split (/[,\s]+,$data1);
while ($idx) {
my $output ="@row1[$idx] => @row2[$idx] \n";
++$idx; }
但到了第三筆資料時 想用變數將 @row2 改為@row{$N} 這樣子就語法出錯了
這樣想法有錯嗎 還是有更簡單的方法 來做這種轉換
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 192.94.35.2
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章