我想使用perl将两个文件合二为一。更具体地说:
我有一个包含列的txt文件:
Irrelevant / Key / Various1 / ... / Various N
和第二个带有列的 txt 文件:
Key / Price
我想读取这两个文件并加入它们,以便我有:
Key / Various1 / ... / Various N / Price
表示第一个表的所有行。 我该怎么做?我没什么经验。
我需要一个表( hash ?)然后我可以在我的脚本或新文件中进一步处理,然后我可以阅读并执行其余的过程。
任何帮助将不胜感激。
感谢讽刺...我已经说过我没有经验而且我不知道ahshes是如何工作的,这似乎是解决方案......我发现了这个代码并试图使用它,但它不起作用:
我像这样加载第一个文件: $列表{$文件} {$系统} {$ master_file_name} {$符号} = $价格;
和第二个: $ 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;
}
}
答案 0 :(得分:3)
我通常鼓励海报展示一些作品。这是一种善意的表现,你已经尝试过,而某些东西不起作用,而不是要求我们为你做你的工作。因此,我不会举一个例子。那就是说,我想指出你Tie::Array::CSV。它可以使这个任务变得更加简单。
答案 1 :(得分:0)