2015-02-11 2 views
0

Я хочу, чтобы объединить два или несколько CSV-файлов, которые выглядят следующим образом:содержание слияние CSV файлов по идентификатору в PHP

Файл 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); 
} 
Смежные вопросы