массивы — объединить содержимое CSV-файлов по идентификатору в стек переполнения

Я хочу объединить два или более CSV-файлов, которые выглядят так:

Файл 1:

offer-id    merchant-category
123         TV
456         TV

Файл 2:

ArticleID   Price
456         989.99
789         555.55
123         999.99

Вывод должен выглядеть так:

offer-id     merchant-category   Price
123          TV                  999.99

Возможно, что файлы не содержат точное количество строк, и строки не в том же порядке

0

Решение

1 / загрузить первые CSV-файлы

$file1=Array();
if (($fp=fopen("data.csv", "r")) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$file1[$data[0]]=$data[1];
}
fclose($fp);
}

2 / открыть второй файл и объединить

$result=Array();
if (($fp=fopen("data2.csv", "r")) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$category=isset($data[0]) ? $file1[$data[0]] : "unknown";
$result[]=array($data[0], $category, $data[1]);
}
fclose($fp);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector