У меня были проблемы с объединением значений между двумя наборами данных, и мне было интересно, может ли кто-нибудь мне помочь. Я думаю, что я близок к решению, так что, надеюсь, кто-то может указать, что может быть не так.
Итак, у меня есть два типа наборов данных. Один из них выглядит так, назовем его dataset1:
1 Asia
2 Australia
3 Europe
dataset1 содержит мой набор ссылок, где каждое число связано со значением.
Другой набор данных, набор данных2, выглядит примерно так:
4638 3
14372 3
4464 1
3498 2
Что я хочу сделать, так это использовать значения второго столбца из набора данных2 и найти соответствующее значение индекса в наборе данных1, чтобы я добавил новый столбец, например:
4638 3 Europe
14372 3 Europe
4464 1 Asia
3498 2 Australia
Я пытался создать хеш значений в первом наборе данных и использовать их в качестве ссылки для второй базы данных, например:
open($fh, "<", $dataset1) || die "Could not open file $dataset $!/n";
while (<$fh>) {
@tmp = split /\t/, $_;
$area{$tmp[0]} = $tmp[1];
}
open($fh2, "<", $dataset2) || die "Could not open file $dataset $!/n;
while (<$fh2>) {
@tmp2 = split /\t/, $_;
$code = $tmp2[0];
$index= $tmp2[1];
if(defined($area{$index})){
print "$code\t$index\t$area{$index}\n";
}
}
Когда я выполняю вышеупомянутую команду, я не получаю предупреждений, но ничего не распечатывается. Я предполагаю, что есть проблема с "определенным" разделом, но я не уверен, как решить это. Любая помощь будет оценена .
Лучший,
A.