Я хочу объединить два или более 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
Возможно, что файлы не содержат точное количество строк, и строки не в том же порядке
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);
}
Других решений пока нет …