2013-03-27 67 views
-1

我想用perl连接两个文件。更具体地讲:在perl中加入两个文件(表)

我有列一个txt文件:

Irrelevant/Key/Various1/.../Various N 

与列第二TXT文件:

Key/Price 

我想阅读这两个文件,并加入他们让我有:

Key/Various1/.../Various N/Price 
用于第一个表格的所有行的3210

。 我该怎么办?我没有什么经验。

我需要使用一个表(哈希?),我可以再在我的脚本或一个新的文件,我可以读取并执行过程的其余部分进一步处理。

任何帮助将不胜感激。


感谢讽刺......我已经说过,我没有经验,我不知道如何ahshes这似乎是解决问题的工作...我发现这个代码peice的,并试图使用它,但它不工作:

我加载第一个文件,如下所示: $ list {$ file} {$ system} {$ master_file_name} {$ symbol} = $ price;

和第二个: $ map {$ file} = $ charge;

我加入他们: %combined =(%map,%list);

foreach my $system (keys(%combined)) 
{ 
my $n=0; 
my $i=0; 
     my $workbook = Spreadsheet::WriteExcel->new("system.xls"); 
my $worksheet = $workbook->add_worksheet("summary_unmapped_master_file"); 
map{$worksheet->write($n, $i++,$_)} ("list", "charge", "System", "MAster_file", "symbol", "price"); 
$n++;$i=0; 
foreach my $value (sort{$combined{$system}{$b} <=> $combined{$system}{$a}} keys %{$combined{$system}}) 
{ 
    map{$worksheet->write($n, $i++,$_)} ($value,$list{$system}{$value}); 
    $n++;$i=0; 
} 

}

+6

Hhhmmm,WhatHaveYouTr ied? – 2013-03-27 20:40:22

+0

http://www.unix.com/web-programming/153703-perl-join-two-files-common-column.html – DVK 2013-03-27 20:53:53

回答

3

我通常鼓励海报展现了一些工作。它表明你已经尝试了一些东西并没有奏效,而不是要求我们为你做你的工作。因此我不会举一个例子。这就是说,我想指出你Tie::Array::CSV。它可以使这是一个更简单的任务。

0
  • 打开包含价格
  • 文件中读取的价格在同一时间提交线,并把数据转换成键入键上的哈希值。
  • 打开其他文件
  • 打开输出文件
  • 对于在其他文件中的每一行
    • 中查找匹配的价格在价格哈希
    • 追加的价格向现有记录的末尾
    • 写入新的记录到输出文件